多重继承的派生类的构造函数初始值只能初始化它的直接基类派生类的构造函数初始化列表将实参分别传递给每个直接基类,其中基类的构造顺序与派生列表中基类的出现顺序保持一致,而与派生类构造函数初始化列表中基类的顺序无关。类型转换与多个基类编译器不会在派生类向基类的几种转换中进行比较和选择,因为在它看来转换到任...
分类:
编程语言 时间:
2014-07-16 19:03:52
阅读次数:
197
所谓模板方法模式,就是在在抽象基类中定义一套算法框架,框架内的步骤由各个派生类去实现。模板方法模式的好处在于,具有相同代码的操作提升至抽象基类中,派生类中只实现具有差异性的代码,从而最大程度减少了重复代码的存在。要注意的是,这里的模板方法和C++中的模板函数没有任何关系。下面以一个用C++描写的简单示例来说明模板方法模式的机制。
#include
#include
using names...
分类:
其他好文 时间:
2014-07-16 11:04:12
阅读次数:
207
/*
*author:xizero00
*mail:xizero00@163.com
*date:2011-08-0721:00:59
*constructortrap
*/
#include<iostream>
usingnamespacestd;
classBase
{
public:
//默认构造函数
Base():d(0){}
//带一个参数的构造函数
Base(intval):d(val){cout<<"基类构造函数:va..
分类:
编程语言 时间:
2014-07-15 12:17:45
阅读次数:
275
父类和子类如果类C1扩展自另一个类C2,那么C1称为子类或派生类,C2称为父类或基类。派生类可以从它的基类中继承可访问的数据域和方法,还可添加新数据域和新方法例如:实现一个几何图形基类;class GeometricObject1 { private String color = "white...
分类:
编程语言 时间:
2014-07-15 08:44:38
阅读次数:
354
慢慢补充。。。* Ref 类是所有类的基类(在 3.x 版本之前是 CCObject 类)* cocos2d-x 中有三大元素:场景、层和精灵。简单的说,场景是指一屏所呈现的所有数据和动画,比如登录场景、大地图场景、战斗场景等;场景是由一或多个层组成的;而层上又有若干精灵,这里的精灵就是指控件和图片...
分类:
其他好文 时间:
2014-07-14 14:41:04
阅读次数:
204
策略模式:指对象(被称为上下文)有某个行为,但是在不同的场景中,该行为有不同的实现算法。我们可以把算法单独提出来形成一个继承体系,然后让上下文包含某个算法即可。这样,当我们需要添加算法时,只需要继承某个抽象基类然后实现自己的算法即可,不需要修改其它已经实现的算法;当需要修改某个上下文所包含的算法时,也只需要修改上下文内指向算法的指针即可。下面这个例子是使用C++编写的一个带策略模式的计算器:
...
分类:
其他好文 时间:
2014-07-14 13:34:47
阅读次数:
178
经验:可在derived class templates 内通过 "this->" 指涉 base class templates 内的成员名称,或藉由一个明白写出的 "base class 资格修饰符"完成。
示例:
class CompanyA{
public:
//...
void sendCleartext(const std::string &msg);
void sendEncrypted(const std::string &msg);
//...
};
class Company...
分类:
编程语言 时间:
2014-07-14 13:20:25
阅读次数:
263
什么是里氏代换原则了?
如果对于每一个类型T1的对象O1,都有类型为T2的对象O2,使得以T1定义的所有程序P在所有对象O1都代换成O2时,程序P没有变化,那么类型T2是类型T1的子类。也就是说,一个软件实体如果使用的是一个基类的话,那么一定适用其子类。
比喻:public class A {
}
public class B extends A {
}
public class Tes...
分类:
其他好文 时间:
2014-07-14 11:10:06
阅读次数:
174
大家都知道C++虚函数的机制,对于基类定义为虚函数的地方,子类假设覆写,在基类指针或者引用来指向子类的时候会实现动态绑定。 但假设指针去调用非虚函数,这个时候会调用C++的静态绑定,去推断当前的指针是什么类型,就去运行哪个类型的函数。 非常有一种比較经典的使用方法,就是Template Method...
分类:
编程语言 时间:
2014-07-14 08:53:47
阅读次数:
246
STL源码之vector1. SGI的vectorSGI stl vector继承子一个基类:template > class vector : protected _Vector_base在基类中定义了基本的一些操作,并且封装了了vector所需要的基本的三个指针:struct _Vector_....
分类:
其他好文 时间:
2014-07-13 23:19:35
阅读次数:
188