D、以上都对
9、关于虚函数的描述中,______是正确的。 A、虚函数是一个static类型的成员函数 B、虚函数是一个非成员函数
C、基类中说明了虚函数后,派生类中对其对应的函数可不必说明为虚函数 D、派生类的虚函数与基类的虚函数具有不同的参数个数和类型
10、______是一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。
A、虚析构函数 B、虚构造函数 C、纯虚函数 D、静态成员函数 11、对于以下类定义,下面正确的叙述是 ( )
class A
{ public:
virtual void func1( ){ } void func2( ){ } }; class B:public A{ public:
void func1( ){cout<< ″ class B func 1 ″ < virtual void func2( ){cout<< ″ class B func 2 ″ < A、 A::func2( ) 和 B::func1( ) 都是虚函数 B、A::func2( ) 和 B::func1( ) 都不是虚函数 C、B::func1( ) 是虚函数,而 A::func2( ) 不是虚函数 D、B::func1( ) 不是虚函数,而 A::func2( ) 是虚函数 12、假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为: 。 A、AB operator+(AB & a , AB & b) B、AB operator+(AB & a) C、operator+(AB a) D、AB & operator+( ) 13、下面是对虚函数的的正确描述 。 A、虚函数不能是友元函数 B、构造函数可以是虚函数 C、析构函数不可以是虚函数 D、虚函数可以静态成员函数 二、填空题 1、 C++ 支持的两种多态性分别是_________多态性和________ 多态性。 2、 静态编联通过 和 实现,动态编联通过 和 实现。 3、 函数重载时,须符合 相同和 、 、 之一至少不同 四个条件 4、运算符重载的两种方法: 和 。 参考答案 第一、二、六、七章习题答案 一、选择题: 1、C 6、D 11、A 2、A 7、A 12、C 3、A 8、A 13、B 4、A 9、D 14、B 5、D 10、D 15、C 11 16、A 二、填空题 1、 继承、多态 2、公有 3、类型 个数 4、内置 5、相同的 6、:: 7、500 1000 500 500 8、2 8 9、300 600 10、x=1.6 y=16 z=C X=1.6 y=2 z=C 11、ABCDEFXHI 12、iostream.h string.h 13、(两个空格) 7890 7890 14、64 64 64 第三章 类和对象 一、选择题 1、D 2、A 3、D 4、C 5、C 6、A 7、A 11、C 12、D 13、C 14、C 15、C 16、A 17、D 二、填空题 1. 某个对象的引用 2. 值传递,地址传递,引用传递 3. public, private, protected 4. 私有或private 5. Private, protected, public 6. 构造函数 7. 1 8. 静态 9. a 是类Sample 的对象引用,用来作函数Set ( )的形参 10.类名:: 11.当前对象的地址 12. Constructor i = 10 i = 20 13. n=10, k=3 n=20, k=3 n=30, k=3 14. 5 6 7 15.Constructing A 12 8、A 9、C 10、B 、C 19、A 20、A 18Constructing B Destructing B Destructing A 第四章 派生类与继承 一、选择 1、C 2、C 3、D 4、C 5、A 6、C 7、C 8、B 9、D 10、B 11、B 12、A 13、C 14、D 15、B 二、填空题 1、私有派生 2、公有派生 3、保护派生 4、私有成员 5、保护成员 6、公有成员 7、基类 8、派生类 9、私有性 10、虚基类 第五章 多态性参考答案 一、单选题 1、A 2、C 3、D 4、C 5、D 6、A 7、D 8、C 9、C 10、A 11 二、填空题 1、编译时的(或静态) 运行时的(或动态) 2、函数重载 运算符重载 继承 虚函数 3、函数名 形参个数 形参类型 形参顺序 4、友员运算符函数 成员运算符函数 13 、C 12、B 13、A