}
void input(int p,int c); void compute(); void print(); private: int price; int count; long total; };
void toy::input(int p,int c) { price=p; count=c; }
void toy::compute()
{ total=(long)price*count; } void toy::print()
{ cout<<\count=\total=\} void main()
{ toy te(2,100);//测试构造函数 toy *ob; ob=new toy[6]; ob[0].input(25,130); ob[0].input(25,130); ob[1].input(30,35); ob[2].input(15,20);
33
ob[3].input(25,120); ob[4].input(45,10); ob[5].input(85,65); for(int i=0;i<6;i++) ob[i].compute(); // clrscr(); for(i=0;i<6;i++) ob[i].print(); delete ob; }
[4_19]构建一个类stock 见书139页 答案如下:#include
{ strcpy(stockcode,\\}
stock(char code[],int q=1000,float p=8.98) { strcpy(stockcode,code); quan=q; price=p; }
void print(void)
34
{ cout<
cout<<\\\ } private:
char stockcode[SIZE]; int quan; float price; }; main() {
stock st1(\ st1.print(); stock st2;
char stockc[]=\ st2=stockc; st2.print(); return 0; }
说明:执行以下语句,可在定义对象的同时,给数据成员设置初值。但构造函数 的参数必须定义为缺省值: stock st2;
char stockc[]=”600002”; st2=stockc; st2.print();
定义不含第2和第3个参数的对象st2时,quan的值为1000,price的值
35
为8.98
[4_20]编写一个有关股票的程序,见书139页题 #include
shang_stock(int g,int s,int p); //构造函数
friend void shang_count(const shang_stock ss);//计算上海的 //股票总数
friend void count(const shang_stock ss,const shen_stock zs); //计算上海和深圳的股票总数 private:
int general; //普通股票个数 int st; //ST股票个数 int pt; //PT股票个数 };
shang_stock::shang_stock(int g,int s,int p)//构造函数 { general=g; st=s; pt=p; }
class shen_stock
{ int general; //普通股票个数
36