class Item {
private:
string name; //상품명
int price, qty; //가격, 수량
public:
Item(string n, int p, int q):name(n),price(p),qty(q){}
void setItem(string n, int p, int q)
{
name = n;
price = p;
qty = q;
}
string getName()
{
return name;
}
int getPrice()
{
return price;
}
int getQty()
{
return qty;
}
};
class Cart{
private:
Item **items; //Item 포인터 배열
int delivery, total; // 배송비, 구매총액
int cnt, maxcnt; //상품갯수, 최대등록 갯수
public:
Cart(int count):maxcnt(count)
{
delivery = total = cnt = 0;
items = new Item*[count];
}
int addItem(string n, int p, int q) //상품 추가하고 추가한 위치 반환
{
if(cnt < maxcnt)
{
items[cnt++] = new Item(n,p,q);
total += p * q;
delivery = (total >= 50000)? 0 : 3000;
return cnt - 1;
}
else cout << "장바구니가 가득차 더이상 상품을 담을 수 없습니다" << endl;
제가 이해한걸로는 위에꺼가 maxcnt로 자리를 만들고 아래꺼로 채운거 같음
첫번째 건 item* 자리를 할당한거고 두번째 거는 item 자리를 할당한 거임