基础概念练习题.pdf
第六章
1.C++中所谓多态性是指(B)。
A.不同的对象调用不同名称的函数
B.不同的对象调用相同名称的函数
C.一个对象调用不同名称的函数
D.一个对象调用不同名称的对象
2.有关多态性说法不正确的是(C)。
A.C++语言的多态性分为编译时的多态性和运行时的多态性
B.编译时的多态性可通过函数重载实现
C.运行时的多态性可通过函数重载实现
D.实现运行时多态性的机制称为动态多态性
3.以下(A)是正确的纯虚函数定义。
A.virtualvoidtt()=0
B.voidtt(int)=0
C.virtualvoidtt(int)
D.virtualvoidtt(int){}
4.C++类体系中,能被派生类继承的是(B)。
A.构造函数B.虚函数C.析构函数D.友元函数
5.以下关于抽象类的说法正确的是(c)。
A.至少有一个虚函数的类就称为抽象类
B.抽象类可以被实例化
C.抽象类至少有一个纯虚函数
D.抽象类不能被继承
6.对于下面两个类的描述正确的为(A)。
classAnimalclassBrid:publicAnimal
{{
public:public:
Animal(char*);Brid(char*);
virtualvoideat()=0;virtualvoidfly();
virtualvoidsleep()=0;voidbreed();
protected:voidsleep();
charname[10];};
};
A.Animal为抽象类,Brid也为抽象类
B.Animal为抽象类,所有的成员函数均为纯虚函数
C.Brid类不包含纯虚函数,因此不是抽象类
D.若有基类指针Animal*p=newFish(“goldenfish”);执行语句p-sleep();
则调用Animal::sleep()
7.关于派生类,以下理解正确的为(B)。
A.派生类从基类继承全部数据成员和部分成员函数
B.派生类是对基类的扩展,可以新增数据成员与成员函数
C.派生类中只能使用基类的成员函数,不能对其进行重新定义
D.派生类可以使用基类的成员,基类也可以使用派生类成员
8.分析以下程序的执行结果。[
#includeiostream
#includestring
usingnamespacestd;
classAnimal{
protected:
stringname;
public:
Animal(stringn=无名):name(n){}
virtualvoidshout()
{coutnameendl;}
};
classCat:publicAnimal{
intyear;
public:
Cat():Animal(无名),year(0){}
Cat(stringn,inty):Animal(n)
{year=y0?y:0;}
voidshout();
};
voidCat::shout(){
stringresult=name;
result+=:miaomiao