代理模式在所需对象和用户代码之间增加了一层对象,这个对象被称为代理。用户代码只需要直接操作代理对象即可。著名的代理模式的例子就是引用计数指针对象,它使得我们对真实对象的操作都需要经过引用计数指针对象。下面是用C++写的一个运用了代理模式的例子。
#include
#include
using namespace std;
// 作为接口的抽象基类
class Subject {
pu...
分类:
其他好文 时间:
2014-07-21 23:27:29
阅读次数:
247
1. 只能初始化直接基类
一个类只能初始化自己的直接基类。直接就是在派生列表中指定的类。如果类C 从类B 派生,类B 从类A 派生,则B 是C 的直接基类。虽然每个C 类对象包含一个A 类部分,但C 的构造函数不能直接初始化A 部分。相反,需要类C 初始化类B,而类B 的构造函数再初始化类A。这一限制的原因是,类B 的作者已经指定了怎样构造和初始化B 类型的对象。像类B 的任何用户一样,类C...
分类:
编程语言 时间:
2014-07-21 22:26:37
阅读次数:
307
鉴于最近在学习cocos2d-x开发手游,对于学习过程中的一些东西做个总结,也记录下学习历程,同时分享些项目源码来和大家一起学习。
第一次写系列教程,可能中间有疏漏的,看到的还请给提个醒,不好的也多多吐槽,以便自己能更好的以后的开发中基类经验。
此次教程分享下豪华版的飞机大战,老规矩,先上图:
介绍下开发环境:cocos2d-x3.2 alpha + Ubuntu14.04 + ec...
分类:
其他好文 时间:
2014-07-21 16:21:01
阅读次数:
219
上篇文章中,我们介绍了为什么应该彻底避免编写拷贝构造函数和赋值操作符。今天这篇我们讨论下为什么应该避免在析构函数中编写代码。即让析构函数为空。
例如:
virtual ~MyClass()
{
}
我们用空析构函数这个术语表示花括号内没有代码的析构函数。
需要编写析构函数可能有如下几个原因:
在基类中,可能需要声明虚拟析构函数,这样就可以使用一个指向基类的指针指向一个派生类的实例...
分类:
其他好文 时间:
2014-07-21 13:33:46
阅读次数:
188
5-2 派生类的构造函数
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
要求定义一个基类Person,它有3个protected的数据成员:姓名name(char
*类型)、性别
sex(char类型)、年龄age(int类型);一个构造函数用于对数据成员初始化;有一个成员函数show()用于...
分类:
编程语言 时间:
2014-07-21 11:41:15
阅读次数:
298
我们首先对下面三个常见的术语进行区分:
①对函数f()进行重载(overload)是表示,在相同的作用域中定义另一个相同的名字(f)的函数,并且这个函数与f()有着不同的参数个数和参数类型。当程序调用函数f()时,编译器将会根据实际提供的参数来选择最匹配的函数。
②对虚函数f()进行覆盖(override)是表示,在派生类中定义一个相同的名字(f)的函数,并且这个函数的参数个数和参数类型与f(...
分类:
其他好文 时间:
2014-07-21 11:26:05
阅读次数:
166
C#类实例的初始化是这样进行的:在调用构造函数的入口处先初始化自身数据成员,若声明字段时显式给出了初始化语句则按初始化语句进行,否则若是基本类型例如int或string则初始化为0或"",若是类则保持为null;若该类含有基类则下一步调用基类构造函数,基类构造函数的执行过程同上,最后调用派生类构造函...
分类:
其他好文 时间:
2014-07-21 11:05:16
阅读次数:
193
一、C++为什么引入虚函数,虚函数有哪些用途? 1.非虚的世界 对象的自恰性:对同样的函数调用,每个对象都会做出恰当的响应. b. 通过指向子类对象的基类指针调用函数: 只能调用基类的成员函数,虽然指针指向子类对象. 一旦调用子类所特有的成员函数,将引发编译错误. c.通过指向基类对象的子真调用函数...
分类:
其他好文 时间:
2014-07-21 09:38:40
阅读次数:
213
一般形式:基类型 **变量名;例如:char **p;void main(){ char *name[] = {"Follow me","Basic","Great Wall","FORTRAN","Computer design"}; char **p; int i; fo...
分类:
编程语言 时间:
2014-07-21 09:33:30
阅读次数:
235
父类和子类如果类C1扩展自另一个类C2,那么C1称为子类或派生类,C2称为父类或基类。派生类可以从它的基类中继承可访问的数据域和方法,还可添加新数据域和新方法例如:实现一个几何图形基类;class GeometricObject1 { private String color = "white...
分类:
编程语言 时间:
2014-07-20 22:19:52
阅读次数:
293