# include <iostream>
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){
int num=money/1000; // a price of one apple=1000
numOfApples-=num;
myMoney+=money;
return num;
}
void ShowSaleResult(){
cout<<"leftover apples : "<<numOfApples<<endl;
cout<<"sales revenue : "<<myMoney<<endl;
}
};
class FruitBuyer
{
private :
int myMoney;
int numOfApples;
public :
void InitMembers(int money){
myMoney=money;
numOfApples=0;
}
void BuyApples(FruitSeller &seller, int money){
numOfApples+=seller.SaleApples(money);
myMoney-=money;
}
void ShowBuyResult(){
cout<<"balance : "<<myMoney<<endl;
cout<<"apples : "<<numOfApples<<endl<<endl;
}
};
int main(void){
FruitSeller seller;
seller.InitMembers(1000,20,0);
FruitBuyer buyer;
buyer.InitMembers(5000);
buyer.BuyApples(seller, 2000);
cout<<"Seller's current situation"<<endl;
seller.ShowSaleResult();
cout<<"Buyer's current situation"<<endl;
buyer.ShowBuyResult();
return 0;
}
FruitBuyer 객체가 FruitSeller 객체에게 SaleApples(money) 를 호출하라고 전한 것 !