绘制图形如下:
程序代码:
需要重新定义父类虚函数draw()
1、在HelloWorldScene.h头文件加入:
virtual void draw();
2、定义实现:
void HelloWorld::draw()
{
//add your code....
CHECK_GL_ERROR_DEBUG();
CCSize size = CC...
分类:
其他好文 时间:
2014-05-15 09:10:32
阅读次数:
285
面向对象编程--纯虚函数、容器与继承I.纯虚函数 在函数形参后面写上 =0 以指定纯虚函数:class Disc_item : public Item_base
{
public:
double net_price(size_t) const = 0; //指定纯虚函数
};
将函数定义为纯虚函数能够说明,该函数为后代类型提供了可以覆盖的接口,但是这个类的版本绝不会调用。重要的是,用户将不...
分类:
编程语言 时间:
2014-05-15 05:50:43
阅读次数:
316
类的大小
空类(不含成员变量和虚函数):因为对象不可能不占内存,否则这个对象怎么存在,所以C++规定空类对象内存大小为1。class EC
{
public:
EC(){}
~EC(){};
void EC1()
{
printf("EC1\n");
}
};
class EVC
{
public:
EVC(){}
~EVC(){};
void EVC1()
{...
分类:
编程语言 时间:
2014-05-15 04:08:52
阅读次数:
302
策略模式关于策略模式,我的理解:有若干个策略(算法),有一个管理策略的类,该类的输入为策略,输入为不同的策略(算法),输出为该种策略(算法)对应的类对象(的动态类型),然后程序员手动去使用该类对象(的动态类型)去调用相应虚函数,根据多态机制实现执行不同的操作。/*******************...
分类:
其他好文 时间:
2014-05-13 21:57:35
阅读次数:
427
虚继承和虚基类 虚继承:在继承定义中包含了virtual关键字的继承关系;
虚基类:在虚继承体系中的通过virtual继承而来的基类,需要注意的是:class CSubClass : public virtual CBase {};
其中CBase称之为CSubClass的虚基类,而不是说CBa.....
分类:
其他好文 时间:
2014-05-13 18:15:46
阅读次数:
435
问题:
包含一个以上虚函数的 class B, 它所定义的 对象是否共用一个虚函数表?
分析: 由于含有虚函数,因此对象内存包含了一个指向虚函数表的指针,但是这个指针指向的是同一个虚函数表吗?
实验如下:
{CSDN:CODE:338780}
结论:
结果表面,同一个类的所有对象,都共享同一个虚函数表。
派生问题:
派生类 和 基类是否共享同一个虚函...
分类:
编程语言 时间:
2014-05-11 22:35:00
阅读次数:
387
面向对象编程--定义基类和派生类[续]四、virtual与其他成员函数 C++中的函数调用默认不使用动态绑定。要触发动态绑定,必须满足两个条件: 1)只有指定为虚函数的成员函数才能进行动态绑定,成员函数默认为非虚函数,非虚函数不进行动态绑定。 2)必须通过基类类型的引用或指针进行函数调用。1、从派生类到基类的转换 因为每个派生类对象都包含基类部分,所以可以将基类类型的引用绑定到派生类对象的基类部分...
分类:
编程语言 时间:
2014-05-11 19:58:04
阅读次数:
431
关于c++多态,个人认为就是父类调用子类的方法,c++多态的实现主要通过虚函数实现,如果类中含有虚函数,就会出现虚函数表,具体c++多态可以参考《深度探索c++对象模型》c语言模拟多态主要通过函数指针实现,可以参考《Object
Orientated Programming in ANSI-C》//...
分类:
编程语言 时间:
2014-05-11 16:25:23
阅读次数:
345
如果C同时派生了基类A和基类B,那么C的对象的内存是如何分布的呢?基类指针pa和基类指针pb对这块派生类C对象的内存所存储的内容又做和解析?或者说pa和pb指向的地址是否是C对象的首地址呢?
1.继承是按照类为整体进行组织的,且如果有继承虚函数,那么将有多余的一个虚函数表指针。
2.基类指针指向派生类后,同样是按照指针强制转化原则来解析派生类对象的部分区块内容(指针截断)
3.多继承中,各个基类的指针指向派生类后,各自基类指针指向的是派生类中与本身基类相关的派生类区块首地址。...
分类:
其他好文 时间:
2014-05-11 15:10:19
阅读次数:
309
C++11中为了帮助程序员写继承结构复杂的类型,引入了虚函数描述符override
重载虚函数 就加上关键字override 这样编译器可以辅助检查是不是正确重载,如果没加这个关键字 也没什么严重的error 只是少了编译器检查的安全性...
分类:
编程语言 时间:
2014-05-11 05:25:30
阅读次数:
382