第五章习题

本文详细讲解了C++中的多态性,包括静态联编与动态联编,以及它们在重载函数和虚函数中的应用。强调了虚函数在运行时的多态性,介绍了纯虚函数和抽象类的概念,以及它们在类继承中的作用。同时,通过实例展示了虚函数在求解几何图形面积问题中的应用。
摘要由CSDN通过智能技术生成

一、填空题

(1)C++的两种联编方式为:动态联编和静态联编。

(2)C++支持两种多态性,静态联编所支持的多态性被称为编译时的多态性、动态联编所支持的多态性被称为运行时的多态性。

(3)重载函数在编译时表现出多态性,是静态联编;而虚函数则在运行时表现出多态性是动态联编。

(4)为了区分重载函数,把一个派生类中重定义基类的虚函数称为覆盖。

(5)如果派生类与基类的虚函数仅仅返回类型不同,其余相同,则c++认为是使用了不恰当的虚函数。

(6)在构造函数和析构函数中调用虚函数时,采用静态联编。

(7)纯函数的定义是在虚函数定义的基础上,再让函数等于0 。

(8)对于包含有纯虚函数的类被称为抽象类。

二、选择题(至少选一个,可以多选)

(1)用关键字(A)标记的函数被称为虚函数。

A.virtual        B.private        C.public        D.protected

(2)在C++中,要实现动态联编,必须使用(D)调用虚函数。

A.类名        B.派生类指针        C.对象名        D.基类指针

(3)下列函数中,可以作为虚函数的是(BD)。

A.普通函数        B.非静态成员函数        C.构造函数        D.析构函数

(4)在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值(B)。

A.不同        B.相同        C.相容        D.部分相同

(5)使用虚函数保证了在通过一个基类类型的指针(含引用)调用一个虚函数时,c++系统对该调用进行(A),但是,在通过一个对象访问一个虚函数,使用(B)。

A.动态联编        B.静态联编        C.动态编译        D.静态编译

(6)下面函数原型声明中,(C)声明的fun()为纯虚函数。

A.void func()=0;             B.virtual void func()=0;

B.virtual void func();        C.virtual void func(){};

(7)若一个类中含有纯虚函数,则该类称为(C)。

A.基类        B.虚基类        C.抽象类        D.派生类

(8)假设Myclass为抽象类,下列声明(CD)是错误的。

A.Myclass& func(int);        B.Myclass * pp;

C.int func(Myclass);           D.Myclass Obj;

(9)下面描述中,(BD)是正确的。

A.虚函数是没有实现的函数        B.纯虚函数的实现是在派生类中定义

C.抽象类是只有纯虚函数的类     D.抽象类指针可以指向不同的派生类

三、判断题

(1)抽象类中只能由一个纯虚函数。                                                                                                                 (×)

(2)构造函数和析构函数都不能说明为虚函数。                                                                                                 (×)

(3)程序中可以说明抽象类的指针或引用。                                                                                                        (√)

(4)一个类中的虚函数说明不仅对基类中的同名函数有影响,而且对它的派生类中重定义的函数也有影响。            (×)   

(5)在构造函数和析构函数中调用虚函数时,采用动态联编,即它们所调动的虚函数是在派生类中重

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值