c++面向对象程序设计课后习题答案.docx

上传人:b****2 文档编号:25730621 上传时间:2023-06-12 格式:DOCX 页数:21 大小:17.09KB
下载 相关 举报
c++面向对象程序设计课后习题答案.docx_第1页
第1页 / 共21页
c++面向对象程序设计课后习题答案.docx_第2页
第2页 / 共21页
c++面向对象程序设计课后习题答案.docx_第3页
第3页 / 共21页
c++面向对象程序设计课后习题答案.docx_第4页
第4页 / 共21页
c++面向对象程序设计课后习题答案.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

c++面向对象程序设计课后习题答案.docx

《c++面向对象程序设计课后习题答案.docx》由会员分享,可在线阅读,更多相关《c++面向对象程序设计课后习题答案.docx(21页珍藏版)》请在冰豆网上搜索。

c++面向对象程序设计课后习题答案.docx

c++面向对象程序设计课后习题答案

第一章

5:

#include

usingnamespacestd;

intmain()

{

cout<<"This"<<"is";

cout<<"a"<<"C++";

cout<<"program."<

return0;

}

6:

#include

usingnamespacestd;

intmain()

{

inta,b,c;

a=10;

b=23;

c=a+b;

cout<<"a+b=";

cout<

cout<

return0;

}

7:

#include

usingnamespacestd;

intmain()

{

inta,b,c;

intf(intx,inty,intz);

cin>>a>>b>>c;

c=f(a,b,c);

cout<

return0;

}

intf(intx,inty,intz)

{

intm;

if(x

elsem=y;

if(z

return(m);

}

8:

#include

usingnamespacestd;

intmain()

{

inta,b,c;

cin>>a>>b;

c=a+b;

cout<<"a+b="<

return0;

}

9:

#include

usingnamespacestd;

intmain()

{intadd(intx,inty);

inta,b,c;

cin>>a>>b;

c=add(a,b);

cout<<"a+b="<

return0;

}

intadd(intx,inty)

{intc;

c=x+y;

return(c);

}

10:

#include

usingnamespacestd;

intmain()

{voidsort(intx,inty,intz);

intx,y,z;

cin>>x>>y>>z;

sort(x,y,z);

return0;

}

voidsort(intx,inty,intz)

{

inttemp;

if(x>y){temp=x;x=y;y=temp;}2-4-12-4-22-5-12-5-2Boxbox1Boxbox1core;

intk=0;

for(inti=1;i<5;i++)

if(arr[i].score>max_score){max_score=arr[i].score;k=i;}

cout<

}

6:

#include

usingnamespacestd;

classStudent

{public:

Student(intn,floats):

num(n),score(s){}

voidchange(intn,floats){num=n;score=s;}

voiddisplay(){cout<

private:

intnum;

floatscore;

};

intmain()

{Studentstud(101,;

();

(101,;

();

return0;

}

7:

解法一

#include

usingnamespacestd;

classStudent

{public:

Student(intn,floats):

num(n),score(s){}

voidchange(intn,floats){num=n;score=s;}

voiddisplay(){cout<

otal();

Product:

:

display();

return0;

}

10:

#include

usingnamespacestd;

classDate;

classTime

{public:

Time(int,int,int);

friendvoiddisplay(constDate&,constTime&);

private:

inthour;

intminute;

intsec;

};

Time:

:

Time(inth,intm,ints)

{hour=h;

minute=m;

sec=s;

}

classDate

{public:

Date(int,int,int);

friendvoiddisplay(constDate&,constTime&);

private:

intmonth;

intday;

intyear;

};

Date:

:

Date(intm,intd,inty)

{month=m;

day=d;

year=y;

}

voiddisplay(constDate&d,constTime&t)

{

cout<<<<"/"<<<<"/"<<<

cout<<<<":

"<<<<":

"<<<

}

intmain()

{

Timet1(10,13,56);

Dated1(12,25,2004);

display(d1,t1);

return0;

}

11:

#include

usingnamespacestd;

classTime;

classDate

{public:

Date(int,int,int);

friendTime;

private:

intmonth;

intday;

intyear;

};

Date:

:

Date(intm,intd,inty):

month(m),day(d),year(y){}

classTime

{public:

Time(int,int,int);

voiddisplay(constDate&);

private:

inthour;

intminute;

intsec;

};

Time:

:

Time(inth,intm,ints):

hour(h),minute(m),sec(s){}

voidTime:

:

display(constDate&d)

{

cout<<<<"/"<<<<"/"<<<

cout<

"<

"<

}

intmain()

{

Timet1(10,13,56);

Dated1(12,25,2004);

(d1);

return0;

}

12:

#include

usingnamespacestd;

template

classCompare

{public:

Compare(numtypea,numtypeb);

numtypemax();

numtypemin();

private:

numtypex,y;

};

template

Compare:

:

Compare(numtypea,numtypeb)

{x=a;y=b;}

template

numtypeCompare:

:

max()

{return(x>y)x:

y;}

template

numtypeCompare:

:

min()

{return(x

y;}

intmain()

{Comparecmp1(3,7);

cout<<()<<"istheMaximumoftwointegernumbers."<

cout<<()<<"istheMinimumoftwointegernumbers."<

Comparecmp2,;

cout<<()<<"istheMaximumoftwofloatnumbers."<

cout<<()<<"istheMinimumoftwofloatnumbers."<

Comparecmp3('a','A');

cout<<()<<"istheMaximumoftwocharacters."<

cout<<()<<"istheMinimumoftwocharacters."<

return0;

}

第四章

1:

#include

usingnamespacestd;

classComplex

{public:

Complex(){real=0;imag=0;}

Complex(doubler,doublei){real=r;imag=i;}

doubleget_real();

doubleget_imag();

voiddisplay();

private:

doublereal;

doubleimag;

};

doubleComplex:

:

get_real()

{returnreal;}

doubleComplex:

:

get_imag()

{returnimag;}

voidComplex:

:

display()

{cout<<"("<

Complexoperator+(Complex&c1,Complex&c2)

{

returnComplex()+(),()+());

}

intmain()

{Complexc1(3,4),c2(5,-10),c3;

c3=c1+c2;

cout<<"c3=";

();

return0;

}

2:

#include

usingnamespacestd;

classComplex

{public:

Complex(){real=0;imag=0;}

Complex(doubler,doublei){real=r;imag=i;}

Complexoperator+(Complex&c2);

Complexoperator-(Complex&c2);

Complexoperator*(Complex&c2);

Complexoperator/(Complex&c2);

voiddisplay();

private:

doublereal;

doubleimag;

};

ComplexComplex:

:

operator+(Complex&c2)

{Complexc;

=real+;

=imag+;

returnc;}

ComplexComplex:

:

operator-(Complex&c2)

{Complexc;

=;

=;

returnc;}

ComplexComplex:

:

operator*(Complex&c2)

{Complexc;

=real**;

=imag*+real*;

returnc;}

ComplexComplex:

:

operator/(Complex&c2)

{Complexc;

=(real*+imag*/*+*;

=(imag**/*+*;

returnc;}

voidComplex:

:

display()

{cout<<"("<

intmain()

{Complexc1(3,4),c2(5,-10),c3;

c3=c1+c2;

cout<<"c1+c2=";

();

c3=c1-c2;

cout<<"c1-c2=";

();

c3=c1*c2;

cout<<"c1*c2=";

();

c3=c1/c2;

cout<<"c1/c2=";

();

return0;

}

3:

#include,"president","135BeijingRoad,Shanghai","(021)",;

();

return0;

}

10:

#include

#include

usingnamespacestd;

classTeacherum<<""<

((char*)&staf[i],sizeof(staf[i]));}

cout<<"pleaseinputdatayouwantinsert:

"<

for(i=0;i<2;i++)

{cin>>>>>>>>;

(0,ios:

:

end);

((char*)&staf1,sizeof(staf1));}

(0,ios:

:

beg);

for(i=0;i<7;i++)

{((char*)&staf[i],sizeof(staf[i]));

cout<

}

boolfind;

cout<<"enternumberyouwantsearch,enter0tostop.";

cin>>num;

while(num)

{find=false;

(0,ios:

:

beg);

for(i=0;i<7;i++)

{((char*)&staf[i],sizeof(staf[i]));

if(num==staf[i].num)

{m=();

cout<

cout<

find=true;

break;

}

}

if(!

find)

cout<<"can'tfind"<

cout<<"enternumberyouwantsearch,enter0tostop.";

cin>>num;

}

();

return0;

}

6:

解法一

#include

#include

usingnamespacestd;

structstudent

{intnum;

charname[20];

doublescore;

};

intmain()

{studentstud[3]={1001,"Li",78,1002,"Wang",,1004,"Fun",90},stud1[3];

charc[50];

inti;

ostrstreamstrout(c,50);

for(i=0;i<3;i++)

strout<

strout<

cout<<"arrayc:

"<

istrstreamstrin(c,50);

for(i=0;i<3;i++)

strin>>stud1[i].num>>stud1[i].name>>stud1[i].score;

cout<<"datafromarrayctoarraystud1:

"<

for(i=0;i<3;i++)

cout<

cout<

return0;

}

6:

解法二

#include

#include

usingnamespacestd;

structstudent

{intnum;

charname[20];

doublescore;

};

intmain()

{inti;

studentstud[3]={1001,"Li",78,1002,"Wang",,1004,"Fun",90},stud1[3];

charc[50];

strstreamstrio(c,50,ios:

:

in|ios:

:

out);

for(i=0;i<3;i++)

strio<

strio<

cout<<"arrayc:

"<

for(i=0;i<3;i++)

strio>>stud1[i].num>>stud1[i].name>>stud1[i].score;

cout<<"datafromarrayctoarraystud1:

"<

for(i=0;i<3;i++)

cout<

cout<

return0;

}

第八章

1:

#include

#include

usingnamespacestd;

doubleq(double,double,double);

voidmain()

{doublea,b,c,p,x1,x2;

cout<<"pleaseentera,b,c:

";

cin>>a>>b>>c;

p=-b/(2*a);

try

{x1=p+q(a,b,c);

x2=p-q(a,b,c);

cout<<"x1="<

}

catch(doubled)

{cout<<"a="<

"<

cout<<"end"<

}

doubleq(doublea,doubleb,doublec)

{doubledisc;

disc=b*b-4*a*c;

if(disc<0)throwdisc;

returnsqrt(disc)/(2*a);

}

2:

#include

#include

usingnamespacestd;

classStudent

{public:

Student(intn,stringnam)

{cout<<"constructor-"<

num=n;name=nam;}

~Student(){cout<<"destructor-"<

voidget_data();

private:

intnum;

stringname;

};

voidStudent:

:

get_data()

{if(num==0)thrownum;

elsecout<

cout<<"inget_data()"<

}

voidfun()

{Studentstud1(1101,"tan");

();

try

{Studentstud2(0,"Li");

();

}

catch(intn)

{cout<<"num="<

"<

}

intmain()

{cout<<"mainbegin"<

cout<<"callfun()"<

fun();

cout<<"mainend"<

return0;

}

3:

//mainfile

#include

usingnamespacestd;

#include""

#include""

usingnamespacestd;

usingnamespacestudent1;

intmain()

{Studentstud1(1001,"Wang",18,"123BeijingRoad,Shanghua");

();

student2:

:

Studentstud2(1102,"Li",'f',;

();

return0;

}

//,文件名为

#include

namespacestudent1

{classStudent

{public:

Student(intn,stringnam,inta,stringaddr)

{num=n;name=nam;age=a;address=addr;}

voidshow_data();

private:

intnum;

stringname;

intage;

stringaddress;

};

voidStudent:

:

show_data()

{cout<<"num:

"<

"<

"<

<<"address:

"<

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1