1.
抽象类法(VCL不推荐);第一,允许创建抽象类对象,因为语法没问题,但允许其错误。第二,接口更好。第三,如果是混合抽象类,则推荐Place Holder方法2.
Place Holder(占位):父类虚拟函数为空白函数,但不是抽象方法。例如TCanvas。避免了抽象类的缺点3. 逐渐增加法:子...
分类:
其他好文 时间:
2014-05-19 23:15:49
阅读次数:
374
面试中有关C++的若干问题By 晴天,
2014.5.16晚什么是多态?简要说一下C++中的多态的概念。(1)定义:多态是指相同对象收到不同消息或者不同对象收到相同消息产生不同的行为。(2)C++中多态分为两种a)
编译时多态(静态绑定) 通过函数重载来实现b) 运行时多态(动态绑定) 通过虚函数来...
分类:
编程语言 时间:
2014-05-17 20:34:07
阅读次数:
347
c++是一种面向对象的编程语言的一个很明显的体现就是对继承机制的支持,c++中继承分很多种,按不同的分类有不同分类方法,比如可以按照基类的个数分为多继承和单继承,可以按照访问权限分为public继承、protected继承和private继承,按照是否是虚拟继承可以分为virtual继承和non-v...
分类:
编程语言 时间:
2014-05-16 03:30:01
阅读次数:
411
绘制图形如下:
程序代码:
需要重新定义父类虚函数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