- 5
- 0
- 约小于1千字
- 约 2页
- 2017-06-08 发布于重庆
- 举报
c复习基础要点02虚函数与模板与staticinline是否共存
虚函数能否定义为模板函数
当一个类有虚函数时,它一定有一个虚表,用来纪录每个虚函数的实际地址。这也就是说这个虚表的大小是在编译期就确定了的。有多少个虚函数,虚表就纪录几个。 类中的模板函数函数会根据具体的类型而实例化,这也就是说这个模板函数会实例多少个函数出来是不知道的,这样,虚表的大小就不好确定了。所以在现有的编译器的情况下,虚函数不能是模板函数。当然以后可能会支持这种情况。不能。成员函数不可同时为virtual和static。?多态实现的基本原理是每个带有virtual函数的类的【实例】要包含一个指针,指向虚函数表 vtbl 。static函数做为类函数,不与任何【实例】相关,自然无法实现多态了。纯虚函数是否可以被定义为private的?如果可以,具体用在什么情况下?class A public: void fun f ; private: void f 0;
;
内联函数能不能定义成虚函数啊?1.内联函数是个静态行为,而虚函数是个动态行为,他们之间是有矛盾的。?2.我们之所以能看到一些象内联函数的虚函数,是因为某个函数是否是内联函数不是由我们说的算,而是由编译器决定的。我们只能向编译器建议,某个函数可以是内联函数 inline关键字 ,但是编译器有自己的判断法则。所以可能出现这样的情况: 2.1 ? 我们用inline声明的函数却没有inline 2.2 ? 我们没有用inline声明的函数却是inline 2.3 ? 对于inline函数,编译器仍然将它编译成一个有地址的函数由于virtual函数不能是inline,所以inline标识不起作用,仍然是动态运行决定构造函数一般是用来初始化对象,只有在一个对象生成之后,才能发挥多态的作用,如果将构造函数声明为virtual函数,则表现为在对象还没有生成的情况下就使用了多态机制,因而
您可能关注的文档
最近下载
- 反应机理(研)-高等无机化学.ppt VIP
- 218SS-PKE 摩托车操作说明书.pdf
- 2025年高考甘肃卷物理真题.docx VIP
- 凯恩帝K1TBIII-A-As数控系统用户手册.pdf
- 杭州电子科技大学信息工程学院2025-2026学年《概率论与数理统计2》第一学期期末试题(B).docx VIP
- 第2章 有理数的运算(单元测试·培优卷)含答案-2024人教版七年级数学上册.pdf VIP
- 中考1600词汇对照表(英译汉).doc VIP
- 杭州电子科技大学2025-2026学年《概率论与数理统计2》第一学期期末试题(B).docx VIP
- 香农三大定理详解.ppt VIP
- 【初中物理】专项练习:物体的密度及其测定40题(附答案).pdf VIP
原创力文档

文档评论(0)