欢迎来到天天文库
浏览记录
ID:54975361
大小:175.00 KB
页数:8页
时间:2020-04-25
《杜茂康版C++部分习题参考答案.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、部分习题解答第2章习题2.读程序,写出程序的执行结果(1)若输入数据“123456343214”并按Enter键后,写出程序的输出结果。(2)第三章习题9.指出下面程序的错误。int&f1(intx=0,inty){//y应该有缺省值returnx*y;//只能返回整型变量名,因函数返回的是引用}int*f2(inta;intb=1){//应以逗号为参数间隔符intt=a*b;return&t;//t的生命期短于f2函数名,程序会因此出现不定的函数值}voidmain(){constr;//r是常量,当在定义是初始化int&a,*
2、p;//引用a当在定义时初始化r=10;a=r;constchar*pc1="dukang";char*constpc2="dukang";charconst*pc3="dukang";constcharconst*pc4="dukang";pc1[2]='t';//pc1所指内容为常量,不能修改pc2[2]='t';pc3[2]='t';//pc3所指内容为常量,不能修改pc4[2]='t';//pc4所指内容为常量,不能修改cout<3、章习题6.分析下面程序中的错误。classX{private:inta=0;//数据成员不能在声明类时赋初值int&b;constintc;voidsetA(inti){a=i;}X(inti){a=i;}//构造函数必须在列表中提供b,c的初如化public:intX(){a=b=c=0;}//与类同名的函数只能是构造和析构函数,不能有返回类型//b,c只能在构造函数初始化列表中初始化X(inti,intj,intk){a=i;b=j;c=k;}//b,c只能在构造函数初始列表中初始化staticvoidsetB(intk){b4、=k;}//静态成员函数不能访问非静态成员bsetC(intk)const{c=c+k;}//const成员函数不能修改数据成员c};voidmain(){Xx1;//默认构函数为private,不能定义对象Xx2(3);Xx3(1,2,3);//应用X类的私有构造函数定义对象,不允许x1.setA(3);//访问调用私有成员,不允许}7.读程序,写出程序运行结果。(1)}(2)(3)第5章习题6.指出下面程序中的错误。#include//应增加usingnamespacestd;classA{intx;A(i5、nta){x=a;}public:setA(inty){x=y;}};classB:privateA{public:B(){cout<<"B"<6、程序执行过程中,由于x1,x2,x3三个对象的指针数据成员s都指向同一内存区域,在它们的生存期结束时,将调用析构函数,同一内存区域(即s所指向的区域)将被delete3次,产生指针悬挂问题。(2)3)第8章4-14-2第9章6-16-26-36-4
3、章习题6.分析下面程序中的错误。classX{private:inta=0;//数据成员不能在声明类时赋初值int&b;constintc;voidsetA(inti){a=i;}X(inti){a=i;}//构造函数必须在列表中提供b,c的初如化public:intX(){a=b=c=0;}//与类同名的函数只能是构造和析构函数,不能有返回类型//b,c只能在构造函数初始化列表中初始化X(inti,intj,intk){a=i;b=j;c=k;}//b,c只能在构造函数初始列表中初始化staticvoidsetB(intk){b
4、=k;}//静态成员函数不能访问非静态成员bsetC(intk)const{c=c+k;}//const成员函数不能修改数据成员c};voidmain(){Xx1;//默认构函数为private,不能定义对象Xx2(3);Xx3(1,2,3);//应用X类的私有构造函数定义对象,不允许x1.setA(3);//访问调用私有成员,不允许}7.读程序,写出程序运行结果。(1)}(2)(3)第5章习题6.指出下面程序中的错误。#include//应增加usingnamespacestd;classA{intx;A(i
5、nta){x=a;}public:setA(inty){x=y;}};classB:privateA{public:B(){cout<<"B"<6、程序执行过程中,由于x1,x2,x3三个对象的指针数据成员s都指向同一内存区域,在它们的生存期结束时,将调用析构函数,同一内存区域(即s所指向的区域)将被delete3次,产生指针悬挂问题。(2)3)第8章4-14-2第9章6-16-26-36-4
6、程序执行过程中,由于x1,x2,x3三个对象的指针数据成员s都指向同一内存区域,在它们的生存期结束时,将调用析构函数,同一内存区域(即s所指向的区域)将被delete3次,产生指针悬挂问题。(2)3)第8章4-14-2第9章6-16-26-36-4
此文档下载收益归作者所有