#define CC_UNUSED_PARAM(unusedparam)
(void)unusedparam这个宏完全没有执行任何命令,这样写的原因主要是历史遗留原因,ojb-c不存在纯虚函数并且传入参数不使用编译器会发出警告,这样用一个宏既可以防止警告也有一定的解释作用。
分类:
其他好文 时间:
2014-05-26 16:18:20
阅读次数:
775
虚函数是有代码的并明确允许子类去覆盖,但子类也可不覆盖,就是说可以直接用,不用重写抽象函数是没有代码,子类继承后一定要重写在一个类中用虚函数:是因为在超类中的有实际代码的方法,但明确允许子类可以作重写而且当子类重写后,可以用子类实例超类;如果这样,超类变量调用虚函数时,执行的是子类的方法在一个类中用...
分类:
其他好文 时间:
2014-05-26 07:34:47
阅读次数:
200
在C++继承模型中,一个派生类对象表现出来的东西,是其自己的成员加上其基类成员的总和。但这些成员如何摆放,标准并未强制规定。一般而言,先摆放基类成员,内存向高地址增长。
下面从四个部分讨论C++继承模型:
单一继承不含虚函数单一继承并含虚函数多重继承虚拟继承
1、单一继承不含虚函数
这种继承关系很简单,基类子对象包含在了派生类对象中,在内存中连续存放。但有一点需...
分类:
编程语言 时间:
2014-05-26 03:51:22
阅读次数:
295
类的虚函数\虚继承所占的空间本文地址:http://blog.csdn.net/caroline_wendy/article/details/24236469char占用一个字节,
但不满足4的倍数时, 会进行数据对齐, 使用4的倍数的字节(byte).GCC:GCC中, 不管是虚函数还是虚继承, ...
分类:
编程语言 时间:
2014-05-25 20:07:05
阅读次数:
431
C++虚函数表解析陈皓http://blog.csdn.net/haoel前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了...
分类:
编程语言 时间:
2014-05-21 23:56:48
阅读次数:
507
1.
虚函数虚函数是在某个基类声明为virtual并在一个或多个派生类中重新定义的成员函数。虚函数是C++多态的基础,通过指向类的指针或引用调用,调用的方式是动态联编,到运行时才确定调用的是该虚函数的哪一个实现。非虚函数是静态联编,在编译时刻系统就能根据指针类型确定调用的函数。虚函数一般会有一个默认...
分类:
编程语言 时间:
2014-05-21 20:27:09
阅读次数:
281
从存储空间角度,虚函数对应一个指向vtable虚函数表的指针,这大家都知道,可是这个指向vtable的指针其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过
vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。从使用角...
分类:
编程语言 时间:
2014-05-21 19:34:01
阅读次数:
178
条款01:视C++为一个语言联绑
C++的四个语言层次:
C:C++是以C为基础的。基本数据类型、语句、预处理器、数组、指针等统统来自C。Oject-Oriented C++:面向对象这一特性包含了:类,封装,继承,多态,虚函数等Template C++:C++的泛型编程能力。STL:一个标准的template库,里面介绍了容器、迭代器、算法以及函数对象等模板类和模板函数。
综述...
分类:
编程语言 时间:
2014-05-21 16:35:40
阅读次数:
265
在使用 QTableView 或 QTableWidget 时,有时我们不想要选中虚框,可以实现一个 ItemDelegate ,重写 drawFocus() 和 drawCheck() 两个虚函数,然后调用 QAbstractItemView 的 setItemDelegate() 把自定义的 itemDelegate 对象传递给 QTableView 即可。需要注意的是,QAbstractItemView 不会删除你设置给它的 ItemDelegate ,需要开发者自己在合适的时候删除它。...
分类:
移动开发 时间:
2014-05-21 16:28:24
阅读次数:
327