1.编程范式 编程范式是指计算机编程的基本风格,C++可容纳多种程度范式,如面向对象编程、泛型编程及传统的过程式编程。2.与C相比较 C++在C语言的基础上新加的特性如下: a.类和对象、继承 b.多态、虚函数和RTTI c.函数重载 d.引用变量 e.泛型编程 f.异常机制 g....
分类:
编程语言 时间:
2014-08-22 00:01:55
阅读次数:
294
遇到了这一段代码: class CBase{public: virtual void virfun() //虚函数 { coutvirfun();//this指针永远指向基类,无论其是否有派生类 }};class CDerive:public CBase{ virtual void virfun()...
分类:
其他好文 时间:
2014-08-21 11:05:03
阅读次数:
181
1.当自己的类指针指向自己类的对象时,无论调用的是虚函数还是实函数,其调用的都是自己的:2.当指向父类对象的父类指针被强制转换成子类指针时候,子类指针调用函数时,只有非重写函数是自己的,虚函数是父类的;3.当指向子类对象的子类指针被强制转换成父类指针的时候,也就是父类指针指向子类对象,此时,父类指针...
分类:
其他好文 时间:
2014-08-20 21:03:42
阅读次数:
246
Typedefint(*healthcalcfunc)(constgamecharacter&)当一个成员函数被声明为虚函数后,其派生类中的同名函数都自动成为虚函数。因此,在子类从新声明该虚函数时,可以加,也可以不加,但习惯上每一层声明函数时都加virtual,使程序更加清晰。友元函数构造函数sta...
分类:
其他好文 时间:
2014-08-20 19:30:42
阅读次数:
210
http://blog.csdn.net/haoel/article/details/1948051/前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛...
分类:
编程语言 时间:
2014-08-20 19:23:12
阅读次数:
311
class B {public: void mf(); ...};class D: public B { ... };甚至对B,D或mf一无所知,也可以定义一个类型D的对象x,D x; // x是类型D的一个对象那么,如果发现这么做:B *pB = &x; // 得到x的指针pB->mf(); .....
分类:
其他好文 时间:
2014-08-20 16:01:52
阅读次数:
191
虚函数是动态绑定而缺省参数值是静态绑定的,当基类和派生类对同一个虚函数设置缺省参数值时,只有基类的缺省参数值起作用。对象的静态类型是指你声明的存在于程序代码文本中的类型,对象的动态类型是由它当前所指的对象的类型决定的。即,对象的动态类型表示它将执行何种行为。虚函数是动态绑定的,意思是说,虚函数通过哪...
分类:
其他好文 时间:
2014-08-20 15:54:52
阅读次数:
144
C++ 对象的内存布局(下)这篇文章的“单一虚拟继承”和“钻石型虚拟继承”时的类内存布局讲得不太清楚,我有一处疑问,我用的是VS2005,因此记录一下。
类继承图如下:
这里:类B被类B1和B2虚拟继承,而B1和B2同时被D继承。
B1的f()、B2的f()覆盖了B的f();
D的f()覆盖了B1的f(),D的f1()覆盖了B1的f1()
D的f()覆盖了B2的f(),D的...
分类:
编程语言 时间:
2014-08-19 14:38:24
阅读次数:
228
1、当在一个子类当中调用构造函数,其父类构造函数肯定先被调用。如果此时父类构造函数中有一个virtual函数,子类当中也有,肯定执行父类当中的virtual函数,而此时子类当中的成员变量并未被初始化,所以无法调用子类与之对应的函数。即为指向虚函数表的指针vptr没被初始化又怎么去调用派生类的virt...
分类:
编程语言 时间:
2014-08-16 10:59:50
阅读次数:
248
在前文Android—— 4.2 Vold挂载管理_主体构建main (一)中有结构图表示,Vold是kernel与用户层的一个交互管理模块,
Android—— 4.2 Vold挂载管理_VolumeManager (三) 简单介绍了核心VolumeManager的构建,这篇分析从kernel进程沟通到VolumeManager进程的关键:NetlinkManager...
分类:
移动开发 时间:
2014-08-16 09:44:20
阅读次数:
368