您的位置:首页 > 其它

类里面定义一个指向自己的静态成员指针变量

2014-06-15 13:41 393 查看
代码:

class a

{

public:

void printa() { cout<<"class a";}

public:

static a* my;

}

解释:

在类里面定义自己的一个静态变量,当这个类的所有对象都需要与某个同类的对象发生关系(不要想歪了……)时,就这么用。这个静态成员一般是全局存在的(废话),而且有特殊地位的对象。有一个很形象的例子与此类似:

好比有一个部落,对部落里的人,可以用 class CHuman 来抽象,但是这个部落里有个特殊的人,那就是这个部落的始祖,例如穆罕穆德。这个特殊的人当然也是 class CHuman 的对象,但区别是他同 CHuman 的所有对象都有关联,或者说 CHuman 的所有对象都和这个对象有关联————所有人都必须时刻记着始祖,而且祷告时都必须“引用”始祖对象,遇到灾难时更要祈求始祖的保佑,吃饭前也要“引用”他的名字……

显然,这个部落的所有成员都与这个特殊成员存在关联(用UML的术语,叫“链接”),对这种模式进行抽象的最佳方式,就是在 class CHuman 内部定义一个“本类”的静态对象(或该对象的指针或引用)。每个成员都可以时刻(而且是“先天”的,不可被“俗世”所篡改的)与始祖发生联系,从他那里汲取神秘的力量……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐