欢迎来到天天文库
浏览记录
ID:52922745
大小:281.79 KB
页数:49页
时间:2020-03-31
《C++课后习题答案.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、-1-第五章习题一、选择填空1.在下列关键字中,用以说明类中公有成员的是()A.public;B.private;C.protected;D.friend;2.下列的各类函数中,()不是类的成员函数。A.构造函数;B.析构函数;C.友元函数;D.拷贝初始化构造函数;3.作用域运算符的功能是()。A.标识作用域的级别的;B.指出作用域的范围的;A.给定作用域的大小的;D.标识某个成员是属于哪个类的。4.下列不是成员函数的是()。A.构造函数;B.友元函数;C.析构函数;D.类型转换函数。5.()不是构造函数的特征
2、A.构造函数的函数名与类名相同;B.构造函数可以重载;C.构造函数可以设置缺省参数;D.构造函数必须指定类型说明。6.()是析构函数的特征。A.一个类中只能定义一个析构函数;B.析构函数与类名不同;C.析构函数的定义只能在类体内;D.析构函数可以有各个或多个参数。7.通常的拷贝初始化函数的参数是()。A.某个对象名;B.某个对象的成员名;C.某个对象的引用名;D.某个对象的指针名;8.关于成员函数特征的下述描述中,()是错误的。A.成员函数一般是内联函数;B.成员函数可以重载;C.成员函数可以设置参数的缺省值;
3、D.成员函数可以是静态的。9.下述静态数据成员的特征中,()是错误的。-2-A.说明静态数据成员时前边要加修饰符static;A.静态数据成员要在类体外进行初始化;B.引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符;C.静态数据成员不是所有对象所共用的。10.友元的作用()。A.提高程序的运用效率;B.加强类的封装性;C.实现数据的隐藏性;D.增加成员函数的种类。二、判断下列描述的正确性,对者划√,错者划×。1.使用关键字class定义的类中缺省的访问权限是私有(private)的。√2.作用
4、域运算符(::)只能用来限定成员函数所属的类。√3.析构函数是一种函数体为空的成员函数。×4.构造函数和析构函数都不能重载。×5.说明或定义对象时,类名前面不需要加class关键字。√6.对象成员的表示与结构变量成员表示相同,使用运算符.或->。√7.所谓私有成员是指只有类中所提供的成员函数才能直接使用它们,任何类外的函数对它们的访问都是非法的。×8.某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。9.可以在类的构造函数中对静态数据成员进行初始化。×10.如果一个成员函数只存取一个类的静态数据成员,
5、则可将该成员函数说明为静态成员函数。√三、分析下列程序的输出结果。1.#includeclassA{public:A();A(inti,intj);voidprint();private:inta,b;};A::A()-3-{a=b=0;cout<<”Defaultconstructorcalled.”;}A::A(inti,intj){a=i;b=j;cout<<”Constructorcalled.”;}voidA::print(){cout<<”a=”<6、classB{public:B();B(inti,intj);voidprintb();private:inta,b;};-4-classA{public:A();A(inti,intj);voidprinta();private:Bc;};A::A(i7、nti,intj):c(i,j){}voidA::printa(){c.printb();}B::B(inti,intj){a=i;b=j;}voidB::printb(){cout<<”a=”<classCount{-5-public:Count(){count++;}staticintHM(){returncount;}~Count(){count-8、-;}private:staticintcount;};intCount::count=100;voidmain(){Countc1,c2,c3,c4;cout<classA{public:A(doublet,doubler){Total=t;Rate=r;}frienddoubleCount(A
6、classB{public:B();B(inti,intj);voidprintb();private:inta,b;};-4-classA{public:A();A(inti,intj);voidprinta();private:Bc;};A::A(i
7、nti,intj):c(i,j){}voidA::printa(){c.printb();}B::B(inti,intj){a=i;b=j;}voidB::printb(){cout<<”a=”<classCount{-5-public:Count(){count++;}staticintHM(){returncount;}~Count(){count-
8、-;}private:staticintcount;};intCount::count=100;voidmain(){Countc1,c2,c3,c4;cout<classA{public:A(doublet,doubler){Total=t;Rate=r;}frienddoubleCount(A
此文档下载收益归作者所有