자판기 코딩중에
class drink
{
private:
char* name;
int count;
int price;
public:
.
.
friend drink operator + (const drink& d1 const drink& d2 ) ;
drink& operator = ( const drink& d1 );
}
drink operator + (const drink& d1 , const drink& d2)
{
drink set;
strcpy(set.name, d1.name);
strcpa(set.name, "+");
strcpa(set.name, d2.name);
set.count = (d1.count < d2.count ) ? d1.count : d2.count ;
set.price = d1.price + d2.price;
return set;
}
drink& drink::operator ( const drink& d1 )
{
.
.
}
대충 이런식으로 + 연산자를 만들어서 ( 코딩이 지금 이게 맞는지 잘 기억은 안나네요.. )
세트메뉴를 만들려고 하는거에요
그니까 drink3 = drink1 + drink2;
이런식으로 한다음에
drink3를 판매하면 drink1과 drink2가 같이 팔리는거죠.
근데 문제가 drink3를 팔면
drink1과 drink2의 카운트가 안내려간다는거죠..
이걸 어떤식으로 코딩구현해야 할지 전혀 감이 안잡혀서요..도와주세요..ㅠㅠ