본문 바로가기
C++

문제 04-1 [정보은닉과 const]

by KWONE 2024. 8. 5.

2024.08.05 - [C++] - OOP (Object-Oriented-Programming)

 

OOP (Object-Oriented-Programming)

1단계 #include using namespace std;class Fruitseller{private: int APPLE_PRICE; int numOfApples; int myMoney;public: void InitMembers(int price, int num, int money) { APPLE_PRICE = price; numOfApples = num; myMoney = money; } int SaleApples(int money) {

kwone.tistory.com

코드 참조 FruitSaleSim1.cpp

class Fruitseller
{
private:
	int APPLE_PRICE;
	int numOfApples;
	int myMoney;
public:
	void InitMembers(int price, int num, int money) 
	{
		APPLE_PRICE = price;
		numOfApples = num;
		myMoney = money;
	}
	int SaleApples(const int money)
	{
		if (money < 0) {
			cout << "구매 금액은 0보다 커야 합니다." << endl;
			return 0;
		}
		else {
			int num = money / APPLE_PRICE;
			numOfApples -= num;
			myMoney += money;
			return num;
		}
		
	}
	void ShowSalesResult() const
	{
		cout << "남은 사과: " << numOfApples << endl;
		cout << "판매 수익: " << myMoney << endl << endl;
	}
};

class FruitBuyer
{
	int myMoney;
	int numOfApples;

public:
	void InitMembers(int money)
	{
		myMoney = money;
		numOfApples = 0;
	}
	void BuyApples(Fruitseller& seller, const int money)
	{
		if (money < 0) {
			cout << "구매 금액은 0보다 커야 합니다." << endl;
		}
		else {
			numOfApples += seller.SaleApples(money);
			myMoney -= money;
		}
	}
	void ShowBuyResult() const
	{
		cout << "현재 잔액: " << myMoney << endl;
		cout << "사과 개수: " << numOfApples << endl << endl;
	}
};

const 함수 선언 및, 금액 조건 추가

/* 아마 money는 const 상수화 안하는편이 나을듯 하다. 추후 수정가능성 있음 고려.*/