https://www.eugeneprogram.com/xe/board_SFDa73/424
위 Account 클래스에 balance 변수를 추가하여 잔고를 다루어보도록 하자.
여기서는 우선 저금하는 메소드 deposit()과 잔고 조회 getBalance()를 추가하여 보자.
Account.h
#include <string> using namespace std;
class Account { public: Account(std::string accountName, int initialBalance) :name{ accountName } { if (initialBalance > 0) { balance = initialBalance; } }
void deposit(int depositAmount) { if (depositAmount > 0) { balance = balance + depositAmount; } }
int getBalance() const { return balance; }
void setName(std::string accountName) { name = accountName; }
std::string getName() const { return name; } private: string name; int balance{ 0 }; }; |
AccountTest.cpp
#include "pch.h" #include <iostream> #include "Account.h" #include <string>
using namespace std;
int main() { Account account1{ "Nina Williams", 50 }; Account account2{ "Leonardo Cohen", -7 };
cout << "account1 : " << account1.getName() << " balalnce is $" << account1.getBalance() << endl; cout << "account2 : " << account2.getName() << " balalnce is $" << account2.getBalance() << endl << endl;
cout << "Enter deposit amount for account1: "; int depositAmount; cin >> depositAmount; cout << "adding " << depositAmount << " to account1 balance"; account1.deposit(depositAmount);
cout << endl << endl;
cout << "account1 : " << account1.getName() << " balalnce is $" << account1.getBalance() << endl; cout << "account2 : " << account2.getName() << " balalnce is $" << account2.getBalance() << endl << endl;
cout << "Enter deposit amount for account2: "; cin >> depositAmount; cout << "adding " << depositAmount << " to account2 balance"; account2.deposit(depositAmount);
cout << endl << endl;
cout << "account1 : " << account1.getName() << " balalnce is $" << account1.getBalance() << endl; cout << "account2 : " << account2.getName() << " balalnce is $" << account2.getBalance() << endl << endl; } |
Account 클래스에 정수형 변수 balance를 추가해 주었고, 생성자를 두 개의 파라미터를 받도록 수정하였다.
클래스를 생성할 때 Account의 name과 balance를 초기화 해준다.
이 때 balance가 0보다 클 때만 잔고의 금액을 해당 금액으로 초기화 한다.
잔고의 조회는 getBalance() 함수를 통하여 한다.
AccountTest.cpp 프로그램은 두 개의 계정을 생성하고 잔고를 초기화 해주는데, 첫 계정은 50으로 두번째 계정은 -7로 초기화를 시도한다.
결과를 보면 50으로 초기화 한 첫 계정은 잔고가 $50으로 나오지만, 두번째 계정은 -7이 아닌 $0으로 나온다.
프로그램에서는 첫계정과 두번째 계정에 각각 저금할 금액을 입력받아서, deposit() 메소드를 호출하여 잔고에 추가해 준다.
실행결과는 아래와 같다.
account1 : Nina Williams balalnce is $50
account2 : Leonardo Cohen balalnce is $0
Enter deposit amount for account1: 500
adding 500 to account1 balance
account1 : Nina Williams balalnce is $550
account2 : Leonardo Cohen balalnce is $0
Enter deposit amount for account2: 30
adding 30 to account2 balance
account1 : Nina Williams balalnce is $550
account2 : Leonardo Cohen balalnce is $30
이렇게 맴버 변수를 조작하는 것이다.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
» | C++ 기초 - Class 맴버 변수 조작하기 | Eugene | 2020.01.04 | 750 |
9 | C++ 기초 - 기본 생성자(Default Constructor) | Eugene | 2019.12.21 | 1435 |
8 | [C/C++] N X N 배열에 달팽이 모양으로 입력 | Eugene | 2019.08.30 | 1533 |
7 | C++ 기초 - string | Eugene | 2019.08.22 | 354 |
6 | C++ 기초 - Class 맴버 변수와 생성자 | Eugene | 2019.08.01 | 960 |
5 | C++ 기초 - Class | Eugene | 2019.05.17 | 626 |
4 | C++ 기초 - 재귀 함수를 이용한 최대값 구하기 | Eugene | 2019.05.15 | 519 |
3 | C++ 기초 - if를 이용하여 두 정수의 크기 비교 | Eugene | 2018.07.25 | 1987 |
2 | C++ 기초 - 두 정수 입력받아 합 구하기 | Eugene | 2017.10.21 | 5755 |
1 | C++ 기초 - Hello World! | Eugene | 2017.09.29 | 3167 |