首页 > 技术 > c++类成员是类自身调用方法

c++类成员是类自身调用方法

2010年8月17日 发表评论 阅读评论

C++类的超前声明
解决了两个调试问题。
问题一 如何定义使类的成员变量保存的是该类的一个实例?
答: 类自身不能作为其成员变量,其成员变量只能定义为类(实例)的指针或引用。
class CNode
{
private:
CNode m_Node; // 出错
CNode *m_pNode; // 正确
}

问题二 两个类相互引用,如何声明?(超前声明)
答:
class A;

class B
{
private:
A m_a; // 错误
A *m_pa; // 正确
}

class A
{
B m_b;
B *m_pb;
}

其实两个问题都是类聚合时的强依赖问题。

分类: 技术 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.