C++的4道选择题
(1)下列关于虚函数与函数重载区别的叙述中不正确的是A)函数说明形式上不同
B)函数重载允许是非成员函数,虚函数只能是成员函数
C)函数重载的调用依据参数和类型的差别,虚函数则依据对象
D)函数重载的本体可以在类外定义,虚函数不可以
(2)下面描述中体现了抽象类特性的语句是
A)可以说明虚函数
B)可以进行构造函数重载
C)可以定义友元函数
D)不能说明其对象
(3)下列关于虚基类的描述中错误的是
A)虚基类子对象的初始化由最派生类完成
B)虚基类子对象的初始化次数与虚基类下面的派生类个数有关
C)设置虚基类的目的是消除二义性
D)带有虚基类的多层派生类构造函数的成员初始化列表中都要列出对虚基类构造函数调用
(4) 以下有关类与结构体关系的叙述不正确的是
A)结构体中只包含数据;类中封装了数据和操作
B)结构体的成员对外界通常是开放的;类的成员可以被隐蔽
C)用struct不能声明一个类型名;而class可以声明一个类名
D)结构体成员默认为puhlic;类成员默认为private
追问:不好意思……第一题有点小问题想问一下。我在谭浩强教授的《C++面向对象程序设计》一书207页找到一句话:“在类外定义虚函数时,可以不加virtual”,这样看来好像D不正确