二级C 重点难点分析:多态性[2]

2008-02-23 05:40:32来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

13.1.2 考点2:虚函数的概念

虚函数是实现运行时多态性的基础,他使用virtual关键字,其定义形式为:
virtual <类型> <函数名> (<参数表>)
虚函数在不同的派生类中可能存在不同的实现,通过重载基类的虚函数,能够生成该函数在派生类中的专门版本,假如派生类中没有重载该虚函数,则使用基类的函数版本。
在C 中,虚函数能够是友元函数,但不能是静态成员。虚函数的重定义函数,无论是否使用virtual关键字,仍然是虚函数。

警钟长鸣:虚函数和虚基类没有必然联系。

例13.1.4 下列关于虚函数的描述中,正确的是( )。[2005年4月 选择第13题]
A.虚函数是个static类型的成员函数
B.虚函数是个非成员函数
C.基类中采用virtual说明一个虚函数后,派生类中定义相同原型的函数时可不必加virtual说明
D.派生类中的虚函数和基类中相同原型的虚函数具备不同的参数个数或类型
答案:C

13.1.3 考点3:纯虚函数和抽象类

纯虚函数是一种特别的虚函数,他没有函数的实现体部分,也没有为函数的功能提供实现的代码,他的实现版本必须由派生类给出,因此纯虚函数不能是内联函数。
纯虚函数的定义形式为:

virtual <类型> <函数名> (<参数表>) = 0;

拥有纯虚函数的类就是抽象类,抽象类不能产生类的实例。假如纯虚函数没有被重载,则派生类将继承此纯虚函数,即该派生类也是抽象类。

警钟长鸣:(1)具备纯虚函数的抽象类和虚基类没有必然联系。
(2)抽象类不能产生实例,而虚基类所对应的类本身却能够产生实例。

例13.1.5 在一个类体的下列声明中,正确的纯虚函数声明是( )。[2004年9月 选择第28题]
A.virtual void vf() = 0; B.void vf(int)=0;
C.virtual int vf(int); C.virtual void vf(int) {}
答案:A
  本章节内容来自希赛全国电脑等级考试用书《电脑等级考试考点分析、题解和模拟——二级C 语言》。(购书请见 :http://shop.csai.cn/itbook/itbookinfo.asp?lbbh=10032460)

[1] [2]




标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 正确理解C#中的ref关键字

下一篇: 二级C 重点难点分析:数据类型、表达式和基本运算

热门词条
热门标签