二级C 重点难点分析:多态性[2]
2008-02-23 05:40:32来源:互联网 阅读 ()
虚函数是实现运行时多态性的基础,他使用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 重点难点分析:多态性[2] - 二级C 重点难点分析: 2008-02-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash