圆形类成员指针?

时间:2010-07-11 09:19:18

标签: c++

我不确定我是否可以描述这个问题,但我会尽力而为。情况如下:

如果我想要一个class1有一个指针作为指向另一个类class2的成员变量。同时,我希望class2也有一个指针作为指向class1的成员变量。这可能吗?

class Class1
{
private:
    Class2* classptr;
        ... ...
public:
        ... ...
};

class Class2
{
private:
    Class1* classptr;
        ... ...
public:
        ... ...
};

在我看来,Class1和Class2都没有被识别为标识符。我猜没有创建Class1和Class2。如果我错了,请纠正我。

1 个答案:

答案 0 :(得分:7)

您需要转发声明。之一:

class Class1
{
private:
    class Class2* classptr;
        ... ...
public:
        ... ...
};

或:

class Class2;

class Class1
{
private:
    Class2* classptr;
        ... ...
public:
        ... ...
};