-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path4_16.cpp
50 lines (50 loc) · 974 Bytes
/
4_16.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <string.h>
#include <stdlib.h>
#include <iostream.h>
class PRODUCT{
char *name; //产品名称
int price; //产品价格
int quantity; //产品数量
mutable int count; //产品查询次数
public:
PRODUCT(char *n, int m, int p);
int buy(int money);
void get(int &p, int &q)const;
~PRODUCT(void);
};
PRODUCT::PRODUCT(char *n, int p, int q)
{
name=new char[strlen(n)+1];
strcpy(name, n);
price=p;
quantity=q;
count=0;
}
PRODUCT::~PRODUCT( )
{
if(name) {
delete [] name;
name=0;
}
}
int PRODUCT::buy(int money)
{
quantity -=money/price;
return money%price;
}
void PRODUCT::get(int &p, int &q)const
{
p=price;
q=quantity;
count++; //count为mutable成员,可以修改
}
int main(int argc, char **argv)
{
int p, q;
if(argc!=4) return 1;
PRODUCT m(argv[1], atoi(argv[2]), atoi(argv[3]));
m.get(p, q);
cout<<"Price="<<p<<" Quantity="<<q;
getchar();
return 0;
}