c++继承方式
公有继承,父类的私有成员不可访问,通过父类的公有函数以及保护函数访问
私有继承,父类成员在派生类中为私有成员等。
初始化顺序先父类,再是派生类,析构刚好相反,
当用父类指针或者引用实现多态时,析构函数要声明成虚函数,不然只会调用父类的析构函数
#include
using namespace std;
class base{
private :float x;
publ...
分类:
编程语言 时间:
2014-05-12 14:16:40
阅读次数:
361
C++ Primer Plus学习笔记之虚函数
C++语言的多态性有两种类型:静态多态性和动态多态性。函数重载和运算符重载就是静态多态性的具体表现,而动态多态性是指程序运行过程中才动态的确定操作所针对的对象,它是通过虚函数实现的;
1,虚函数的概念:
一个指向基类的指针可用来指向从基类派生的任何对象,这样就可以达到一个接口多个实现的访问了;虚函数是在基类中被冠以virtual的成员函...
分类:
编程语言 时间:
2014-05-10 10:14:19
阅读次数:
290
1:构造函数不能为虚函数
1):虚函数是用父类指针引用子类对象用的,(父类)构造函数在被调用的时候,子类对象还没被创建,不能用虚函数2):虚函数是通过vtable来调用的,vtable存在于对象的存储空间中,构造函数被调用的时候,对象还未生成,空间未分配,
因此构造函数不能为虚函数2:析构函...
分类:
其他好文 时间:
2014-05-10 01:18:38
阅读次数:
294
这个是c++很基础的东西,等用到时又有点晕,翻开primer/*1.static不能声明成const和虚函数2.const
static可以初始化,但还是需要在类外定义3.类的static必须定义,并且在类外定义,把内存分配在静态存储区,如果只声明不定义出现无法解析的外部命令我猜是他是在编译时期分配...
分类:
编程语言 时间:
2014-05-09 05:59:22
阅读次数:
305
以前,知道了虚函数表的低效性之后,一直尽量避免使用之。所以,在最近的工程中,所有的析构函数都不是虚函数。今天趁着还书的机会到图书馆,还书之后在 TP
分类下闲逛,偶然读到一本游戏编程书,里面说建议将存在派生的类的析构函数都设置为 virtual。例如 ParentClass 和 ChildClass...
分类:
编程语言 时间:
2014-05-08 23:21:08
阅读次数:
486
1
.虚函数假设people是man的父类,people类和man类都定义了实函数walk()people* p = new
man();p->walk();这里P执行的是people类的walk()函数。这和java语言不一样,java在这里执行的是man的walk()函数。那么C++如何实现子类...
分类:
编程语言 时间:
2014-05-08 09:30:01
阅读次数:
349
c++的两大特色是多态和模板。其中多态是通过继承和虚函数来实现的,其中虚函数是通过每个对象里面的虚表来实现的。如果这个对象的类有虚函数,那么这个类就有一张虚表,存的是每个虚函数的入口地址,而这个类的每个对象,都会有一个4字节的指针,指向这张虚表,这个就是虚指针。上面一段话很多人都知道,但是如果问普通...
分类:
编程语言 时间:
2014-05-07 10:21:02
阅读次数:
471
1 基类指针指向基类对象(正常使用)
2 派生类指针指向派生类对象(函数名相同,不管是不是虚函数,调用的都是派生类的函数)
3 基类指针指向派生类对象(函数名相同,虚函数的话调用的是派生类的,非虚函数的话调用的是基类的)
4 派生类指针指向基类对象(一般不要这么用)
参考资料:
http://blog.csdn.net/monkeyduck/article/details/155...
分类:
其他好文 时间:
2014-05-05 13:15:52
阅读次数:
273
虚函数使用的时机为什么虚函数不总是适用? 1. 虚函数有事会带来很大的消耗; 2.
虚函数不总是提供所需的行为; 3. 当我们不考虑继承当前类时,不必使用虚函数。必须使用虚函数的情况: 1.
当你想删除一个表面上指向基类对象,实际却是指向派生类对象的指针,就需要虚析构函数。
分类:
编程语言 时间:
2014-05-05 09:36:24
阅读次数:
487
在看项目代码时,发现有个调用,明明调用的函数基类的,搞不懂为什么会调用到派生类的,这是个虚函数,我想肯定是指针的问题,我又想到了是绑定时候的问题thrTransData::thrTransData(){
m_spTimerFactory = NEWSP(TimerFactory); ne...
分类:
其他好文 时间:
2014-05-04 10:28:00
阅读次数:
220