欢迎来到天天文库
浏览记录
ID:46893348
大小:57.00 KB
页数:19页
时间:2019-11-29
《c++多态性相关习题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、多态性10.2典型例题分析与解答例题1: 指出下列对定义重载函数的要求中,哪些是错误的提法。A. 要求参数的个数不同。 B.要求参数中至少有一个类型不同。C. 求函数的返回值不同。 D. 要求参数的个数相同时,参数类型不同。答案:C例题3: 下面关于友元的描述中,错误的是( )。A. 友元函数可以访问该类的私有数据成员B. 一个类的友元类中的成员函数都是这个类的友元函数C. 友元可以提高程序的运行效率D. 类与类之间的友元关系可以继承答案:D 例题4: 下述静态成员的特性中,
2、( )是错误的。A. 静态成员函数不能利用this指针B. 静态数据成员要在类体外进行初始化C. 引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符D. 静态数据成员不是所有对象所共有的答案:D 例题5: 关于虚函数的描述中,( )是正确的。A. 虚函数是一个静态成员函数B. 虚函数是一个非成员函数C. 虚函数既可以在函数说明时定义,也可以在函数实现时定义D. 派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型参考答案:D 例题11
3、:分析下列程序的输出结果。#includeclassA{public: A(){cout<<"A'scons."<4、blicB{public: C(){cout<<"C'scons."<g(); deletea;}运行结果:A'scons.A'sf().B'scons.C'scons.C'sf().C'sdes.B'sdes.A'sdes.10.3教材习题解答1.选择题(1)下列关于动态联编的描述中,错误的是()。 A.动态联编是以虚函5、数为基础 B.动态联编是运行时确定所调用的函数代码的 C.动态联编调用函数操作是指向对象的指针或对象引用 D.动态联编是在编译时确定操作函数的答案:D(2)关于虚函数的描述中,正确的是()。 A.虚函数是一个静态成员函数 B.虚函数是一个非成员函数 C.虚函数即可以在函数说明定义,也可以在函数实现时定义 D.派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型答案:D(3)下面4个选项中,( )是用来声明虚函数的。 A.virtual B.public C.using D.false答案:A6、(4)编译时的多态性可以通过使用( )获得。 A.虚函数和指针 B.重载函数和析构函数 C.虚函数和对象 D.虚函数和引用答案:A(5)关于纯虚函数和抽象类的描述中,错误的是( )。 A.纯虚函数是一种特殊的虚函数,它没有具体的实现 B.抽象类是指具体纯虚函数的类 C.一个基类中说明有纯虚函数,该基类派生类一定不再是抽象类 D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出答案:B(6)下列描述中,( )是抽象类的特征。 A.可以说明虚函数 B.可以进行构造函数重载 C.可以定义7、友元函数 D.不能说明其对象答案:D(7)以下( )成员函数表示虚函数。 A.virtualintvf(int); B.voidvf(int)=0; C.virtualvoidvf()=0; D.virtualvoidvf(int){}; 答案:D(8)如果一个类至少有一个纯虚函数,那么就称该类为(A )。 A.抽象类 B.虚函数 C.派生类 D.以上都不对答案:A(9)要实现动态联编,必须通过( )调用虚函数。 A.对象指针 B.成员名限定 8、 C.对象名 D.派生类名答案:A(10)下面描述中,正确的是(A )。 A.virtual可以用来声明虚函数 B.含有纯虚函数的类是不可以用来创建对象的,因为
4、blicB{public: C(){cout<<"C'scons."<g(); deletea;}运行结果:A'scons.A'sf().B'scons.C'scons.C'sf().C'sdes.B'sdes.A'sdes.10.3教材习题解答1.选择题(1)下列关于动态联编的描述中,错误的是()。 A.动态联编是以虚函
5、数为基础 B.动态联编是运行时确定所调用的函数代码的 C.动态联编调用函数操作是指向对象的指针或对象引用 D.动态联编是在编译时确定操作函数的答案:D(2)关于虚函数的描述中,正确的是()。 A.虚函数是一个静态成员函数 B.虚函数是一个非成员函数 C.虚函数即可以在函数说明定义,也可以在函数实现时定义 D.派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型答案:D(3)下面4个选项中,( )是用来声明虚函数的。 A.virtual B.public C.using D.false答案:A
6、(4)编译时的多态性可以通过使用( )获得。 A.虚函数和指针 B.重载函数和析构函数 C.虚函数和对象 D.虚函数和引用答案:A(5)关于纯虚函数和抽象类的描述中,错误的是( )。 A.纯虚函数是一种特殊的虚函数,它没有具体的实现 B.抽象类是指具体纯虚函数的类 C.一个基类中说明有纯虚函数,该基类派生类一定不再是抽象类 D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出答案:B(6)下列描述中,( )是抽象类的特征。 A.可以说明虚函数 B.可以进行构造函数重载 C.可以定义
7、友元函数 D.不能说明其对象答案:D(7)以下( )成员函数表示虚函数。 A.virtualintvf(int); B.voidvf(int)=0; C.virtualvoidvf()=0; D.virtualvoidvf(int){}; 答案:D(8)如果一个类至少有一个纯虚函数,那么就称该类为(A )。 A.抽象类 B.虚函数 C.派生类 D.以上都不对答案:A(9)要实现动态联编,必须通过( )调用虚函数。 A.对象指针 B.成员名限定
8、 C.对象名 D.派生类名答案:A(10)下面描述中,正确的是(A )。 A.virtual可以用来声明虚函数 B.含有纯虚函数的类是不可以用来创建对象的,因为
此文档下载收益归作者所有