Это для введения в классы, в котором я должен создать банковский счет, способный манипулировать балансом путем внесения или снятия денег и поиска баланса в счете.
Я просмотрел десяток разных примеров и практических соображений, но теперь я в недоумении.
Единственный вывод, который я получаю из моего кода, - это 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
Переменная члена balance
никогда не назначается (в конструкторе) и поэтому содержит значение мусора.
На самом деле у вас, похоже, есть ошибка. В вашем конструкторе вы устанавливаете m_startingBal
но не используете его нигде, в то время как balance
не установлен в конструкторе, а используется везде.
m_startingBal
наbalance
и все хорошо. Спасибо! Если вы знаете хороший урок о конструкторах, я хотел бы получить ссылку, потому что я борюсь с ними.