预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共20页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

习题四 填空题 1、联编是指一个程序模块、调用代码之间互相关联的过程.根据联编的时机不同,可以分为 静态联编和(动态联编)。 2、包含一个或多个纯虚函数的类称为(抽象类)。 3、虚函数应该在(基类)中声明,且不能在派生类中重新定义。 4、纯虚函数是(只有函数声明而没有具体函数功能实现的虚函数). 5、在析构函数前面加上关键字(virtual)进行说明,称该析构函数为虚析构函数。 6、如果一个基类的析构函数被说明为虚析构函数,则它的派生类中的(析构函数)也是 虚析构函数。 7、多态性分为两类:编译时的多态性和(运行时的多态性),编译时的多态性是通过和(函 数)模板实现的. 8、对虚函数的调用有两种方式:(指针调用)和(对象调用). 9、实现编译时的多态性的机制称为(静态关联),实现运行时的多态性的机制称为(动 态关联)。 10、有一种特殊的虚函数,重定义时不要求同名,这种虚函数是(虚析构函数)。 11、模板可以实现程序设计中的(代码重用),体现了面向对象程序设计的(重用性)。 12、C++模板可以分为(函数模板)和(类模板)。 13、由函数模板实例化后是(模板函数),由类模板实例化后是(模板类). 14、模板的声明使用关键字(template)。 15、已知 intsum(intn){returnn+n;} longsum(longn){returnn+n;} 是一个函数模板的两个实例,则该函数模板的定义是(template<typenameT〉 Tsum(Tn){returnn+n;})。 选择题 1、下面的4个关键字中,(A)是用来说明虚函数的。 A。virtualB.publicC.protectedD.private 2、实现运行时的多态性要使用(D)。 A.重载函数B。构造函数C.析构函数D。虚函数 3、如果一个类至少有一个纯虚函数,那么该类称为(C)。 A.虚基类B.派生类C.抽象类D。以上都不对 1 4、下列描述中,(D)是抽象类的特征。 A。可以说明虚函数 B.可以进行构造函数重载 C.可以定义友元 D。不能说明其对象 5、下列关于虚函数的描述中,(C)是正确的。 A.虚函数是一个非成员函数 B.虚函数是一个静态成员函数 C。派生类的虚函数与基类种对应的虚函数具有相同的参数个数和类型 D。虚函数既可以在函数说明时定义,也可以在函数实现时定义 6、下列关于纯虚函数与抽象类的描述中,(C)是错误的。 A.抽象类是指具有纯虚函数的类 B.纯虚函数是一个特殊的虚函数,它没有具体的实现 C.一个基类中说明具有纯虚函数,该基类的派生类一定不再是抽象类 D.抽象类只能作为基类来用,其纯虚函数的实现由派生类给出 7、下列各函数的说明中,(B)表示纯虚函数. A.virtualintvf(int);B。voidvf(int)=0; C。virtualvoidvf()=0;D.virtualvoidvf(int){} 8、虚函数必须是类的(D)。 A。友元函数B。构造函数C.析构函数D.成员函数 9、下列关于虚函数的描述中,(A)是正确的。 A.虚函数不能声明为另一个类的友元函数 B.虚函数不能声明为静态成员函数 C.派生类必须重新定义基类的虚函数 D。如果在重定义虚函数时使用了保留字virtual,则该重定义函数仍然是虚函数 10、多态调用是指(C). A.以任何方式调用一个虚函数 B.以任何方式调用一个纯虚函数 C.借助于指向对象的基类指针或引用调用一个虚函数 D.借助于指向对象的基类指针或引用调用一个纯虚函数 11、在C++中,要实现动态联编,必须使用(D)调用虚函数。 A.类名 B。派生类指针 2 C.对象名 D.基类指针 12、下列函数中,可以作为虚函数的是(D)。 A.普通函数 B。构造函数 C。友元函数 D.析构函数 13、在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和 函数返回值(B)。 A.不同 B。相同 C.相容 D.部分相同 14、假设Aclass为抽象类,下列声明(B)是正确的。 A.Aclassfun(int); B。Aclass*p; C。intfun(Aclass); D.AclassObj; 15、下面描述中,正确的是(D). A。虚函数是没有实现的函数 B.纯虚函数的实现只能在直接派生类中定义 C。抽象类是只有纯虚函数的类 D.抽象类指针可以指向不同的派生类 16、当运行程序时实际上是将类模板实例化为一个具体的(D)。 A.类B.对象C。函数D.模板类 17、模板函数的真正代码是在(C)时产生的。 A.源程序中声明函数时B.源程序中定义函数时 C.源程序中调用函数时D。运行执行函数时 18、