C面向对象程序设计答案第三章谭浩强清华大学出版社Word文件下载.docx
《C面向对象程序设计答案第三章谭浩强清华大学出版社Word文件下载.docx》由会员分享,可在线阅读,更多相关《C面向对象程序设计答案第三章谭浩强清华大学出版社Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
};
Date:
:
Date(intm,intd,inty):
month(m),day(d),year(y)
{}
Date(intm,intd):
month(m),day(d)
{year=2005;
}
Date(intm):
month(m)
{day=1;
year=2005;
}
Date()
{month=1;
day=1;
voidDate:
display()
{cout<
<
month<
"
/"
day<
year<
endl;
intmain()
{
Dated1(10,13,2005);
Dated2(12,30);
Dated3(10);
Dated4;
d1.display();
d2.display();
d3.display();
d4.display();
return0;
3:
Date(int=1,int=1,int=2005);
4:
classStudent
Student(intn,floats):
num(n),score(s){}
intnum;
floatscore;
voidStudent:
num<
"
score<
{Studentstud[5]={
Student(101,78.5),Student(102,85.5),Student(103,98.5),
Student(104,100.0),Student(105,95.5)};
Student*p=stud;
for(inti=0;
i<
=2;
p=p+2,i++)
p->
display();
5:
voidmain()
voidmax(Student*);
Student*p=&
stud[0];
max(p);
voidmax(Student*arr)
{floatmax_score=arr[0].score;
intk=0;
for(inti=1;
5;
i++)
if(arr[i].score>
max_score){max_score=arr[i].score;
k=i;
cout<
arr[k].num<
max_score<
6:
voidchange(intn,floats){num=n;
score=s;
voiddisplay(){cout<
{Studentstud(101,78.5);
stud.display();
stud.change(101,80.5);
7:
解法一
voiddisplay(){cout<
//可改为:
voiddisplay()const{cout<
{constStudentstud(101,78.5);
//stud.change(101,80.5);
解法二:
voidchange(intn,floats)const{num=n;
voiddisplay()const{cout<
mutableintnum;
mutablefloatscore;
解法三:
stud;
p->
change(101,80.5);
8:
voidfun(Student&
);
fun(stud);
voidfun(Student&
stu)
{stu.display();
stu.change(101,80.5);
stu.display();
9:
classProduct
Product(intn,intq,floatp):
num(n),quantity(q),price(p){};
voidtotal();
staticfloataverage();
staticvoiddisplay();
intquantity;
floatprice;
staticfloatdiscount;
staticfloatsum;
staticintn;
voidProduct:
total()
{floatrate=1.0;
if(quantity>
10)rate=0.98*rate;
sum=sum+quantity*price*rate*(1-discount);
n=n+quantity;
sum<
cout<
average()<
floatProduct:
average()
{return(sum/n);
discount=0.05;
sum=0;
intProduct:
n=0;
intmain(