所以我喜欢在c ++中创建一个简单的银行帐户,用简单的方法来添加或取出资金并检查当前的余额,但它不会编译,我不知道为什么。变量和方法都是德语,但我希望它很清楚。
konto.h:
#include <stdio.h>
#include <string>
class Konto
{
public:
Konto();
~Konto();
void einzahlen(float geld);
void abheben(float geld);
float kontostand();
float balance;
};
konto.cpp
#include "konto.h"
Konto::Konto()
{
balance = 0;
}
Konto::~Konto()
{
}
void Konto::einzahlen(float geld)
{
balance += geld;
}
void Konto::abheben(float geld)
{
balance -= geld;
}
float Konto::kontostand()
{
return balance;
}
的main.cpp
#include "konto.h"
void getKontostand(Konto k)
{
printf("Aktueller Kontostand: %f⁄n", k.kontostand());
}
int main()
{
Konto k(0);
k.einzahlen(1000);
k.abheben(400);
k.abheben(400);
getKontostand(k);
}
答案 0 :(得分:4)
您的构造函数被声明为无参数
Konto::Konto()
但您在int
main()
参数
Konto k(0);
您可以考虑使用默认参数:
Konto::Konto(int bal = 0): balance(bal){}
所以您现在可以选择指定初始余额
Konto k(42); // we can specify the initial balance
或使用默认
Konto k(); // initial balance is by default 0