Intro Bank Account Class - Странный вывод

0

Это для введения в классы, в котором я должен создать банковский счет, способный манипулировать балансом путем внесения или снятия денег и поиска баланса в счете.

Я просмотрел десяток разных примеров и практических соображений, но теперь я в недоумении.

Единственный вывод, который я получаю из моего кода, - это 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
Теги:
class

1 ответ

3
Лучший ответ

Переменная члена balance никогда не назначается (в конструкторе) и поэтому содержит значение мусора.

На самом деле у вас, похоже, есть ошибка. В вашем конструкторе вы устанавливаете m_startingBal но не используете его нигде, в то время как balance не установлен в конструкторе, а используется везде.

  • 0
    Конечно же Я просто изменил m_startingBal на balance и все хорошо. Спасибо! Если вы знаете хороший урок о конструкторах, я хотел бы получить ссылку, потому что я борюсь с ними.
  • 0
    Просто продолжайте пытаться, вы получите навык :)
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню