资源描述:
《新标准C++程序设计教材答案 郭炜》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《新标准C++程序设计》习题解答第11章-第20章郭炜第十一章习题1.结构化程序设计有什么不足?面向对象的程序设计如何改进这些不足?2.以下说法正确的是:A)每个对象内部都有成员函数的实现代码B)一个类的私有成员函数内部不能访问本类的私有成员变量C)类的成员函数之间可以互相调用D)编写一个类时,至少要写一个成员函数#C3.以下对类A的定义,哪个是正确的?A)classA{private:intv;public:voidFunc(){}}B)classA{intv;A*next;voidFunc(){}};C)classA{intv;public:voidFunc();
2、};A::voidFunc(){}D)classA{intv;public:Anext;voidFunc(){}};#B4.假设有以下类A:classA{public:intfunc(inta){returna*a;}};以下程序片段,哪个是不正确的?A)Aa;a.func(5);B)A*p=newA;p->func(5);C)Aa;A&r=a;r.func(5);D)Aa,b;if(a!=b)a.func(5);#D5.以下程序,哪个是不正确的?A)intmain(){classA{intv;};Aa;a.v=3;return0;}B)intmain(){class
3、A{public:intv;A*p;};Aa;a.p=&a;return0;}C)intmain(){classA{public:intv;};A*p=newA;p->v=4;deletep;return0;}D)intmain(){classA{public:intv;A*p;};Aa;a.p=newA;deletea.p;return0;}#A6.实现一个学生信息处理程序。输入:姓名,年龄,学号(整数),第一学年平均成绩,第二学年平均成绩,第三学年平均成绩,第四学年平均成绩。输出:姓名,年龄,学号,四年平均成绩。例如:输入:Tom,18,7817,80,80,90
4、,70输出:Tom,18,7817,80要求实现一个代表学生的类,并且所有成员变量都应该是私有的。#include#include#include#includeusingnamespacestd;classCStudent{private:intage;intid;charname[20];intaverageScore[4];public:intaverage(){intsum=0;for(inti=0;i<4;++i)sum+=averageScore[i];returnsum/4;}voi
5、dprintInfo(){printf("%s,%d,%d,%d",name,age,id,average());}voidreadInfo(){charbuf[110];cin.getline(buf,100);char*p=strchr(buf,',');p[0]=0;strcpy(name,buf);sscanf(p+1,"%d,%d,%d,%d,%d,%d",&id,&age,averageScore,averageScore+1,averageScore+2,averageScore+3);}};intmain(){CStudents;s.readInfo(
6、);s.printInfo();return0;}第十二章习题1.以下说法中正确的是:A)一个类一定会有无参构造函数B)构造函数的返回值类型是voidC)一个类只能定义一个析构函数,但可以定义多个构造函数D)一个类只能定义一个构造函数,但可以定义多个析构函数#C2.对于通过new运算符生成的对象A)在程序结束时自动析构B)执行delete操作时才能析构C)在包含该new语句的函数返回时自动析构D)在执行delete操作时会析构,如果没有执行delete操作,则在程序结束时自动析构#B3.如果某函数的返回值是个对象,则该函数被调用时,返回的对象A)是通过复制构造函数初始
7、化的B)是通过无参数的构造函数初始化的C)用哪个构造函数初始化取决于函数中return语句是怎么写的D)不需要初始化#A4.以下说法正确的是:A)在静态成员函数中可以调用同类的其他任何成员函数B)const成员函数不能作用于非const对象C)在静态成员函数中不能使用this指针D)静态成员变量每个对象有各自的一份#C5.以下关于this指针的说法中不正确的是:A)const成员函数内部不可以使用this指针B)成员函数内的this指针,指向成员函数所作用的对象。C)在构造函数内部可以使用this指针D)在析构函数内部可以使用this指针#A6.请写