介绍银行帐户类 - 奇怪的输出

时间:2014-02-20 00:34:37

标签: c++ class

这是针对课程作业的介绍,我将创建一个银行账户,能够通过存入或取出资金来操纵余额并查找账户余额。

我查看了十几个不同的例子和方法,但现在我不知所措。

我从代码中获得的唯一输出是Account Balance: $-8589937190 我不知道这个价值来自哪里。关于我应该从哪里开始的任何想法?

#include <iostream>
using namespace std;

// Define Account class
class Account
{
public:
    Account(int startingBal = 0){
        m_startingBal = startingBal;
}
void credit(int amount);
void withdraw(int amount);
int getBalance() const;
private:
int m_startingBal;
int balance;
};
void Account::credit(int amount)    // deposit money
{
balance += amount;
};
void Account::withdraw(int amount)  // withdraw money
{
balance -= amount;
};
int Account::getBalance() const     // return the current balance
{
cout << "Account Balance: $" << balance << endl;
return balance;
};
int main()
{
Account account(1500); // create an Account object named account with startingBal of $1500
account.credit(500);    // deposit $500 into account
account.withdraw(750);  // withdraw $750 from account
account.getBalance();   // display balance of account

system("PAUSE");    // to stop command prompt from closing automatically
return 0;
} // end main

1 个答案:

答案 0 :(得分:3)

永远不会将balance成员变量赋值给(在构造函数中),因此包含垃圾值。

事实上你似乎有一个错误。在您的构造函数中设置m_startingBal但不要在其他地方使用它,而balance未在构造函数中设置,但 在其他任何位置使用。