C++

열혈 C++ 프로그래밍 OOP 프로젝트 03

나른한여우 2024. 3. 20. 19:03

기존 class에 복사 생성자 및 소멸자 추가

class Account
{
private:
	int accId;
	int balance;
	char* cusName;
public:
	Account(int id, int money, char* name)
		:accId(id), balance(money)
	{
		cusName = new char[strlen(name) + 1];
		strcpy_s(cusName, strlen(name) + 1, name);
	}
	Account(Account& ac)
		:accId(ac.accId), balance(ac.balance)
	{
		cusName = new char[strlen(ac.cusName) + 1];
		strcpy_s(cusName, strlen(ac.cusName) + 1, ac.cusName);
	}
	int GetAccId()
	{
		return accId;
	}
	void Deposit(int money)
	{
		balance += money;
	}
	int WithDraw(int money)
	{
		if (balance < money)
		{
			return 0;
		}
		balance -= money;
		return money;
	}
	void ShowAccount()
	{
		cout << "계좌번호: " << accId << endl;
		cout << "고객이름: " << cusName << endl;
		cout << "잔 액: " << balance << endl<<endl;
	}
	~Account()
	{
		delete[]cusName;
	}
};