如何在头文件中定义对象? (不使用它)

时间:2015-04-25 16:46:54

标签: c++

很抱歉,问题标题不会令人困惑,但我不确定如何更好地说出来。

基本上,这是我的代码。

标题文件

class Foo {
     public: 
          Foo();
     private: 
          Bar * b;
}

class Bar {
     public:
          Bar(Foo *f);
     private:
          Foo * foo;
}

cpp文件

Foo::Foo() {
     new Bar(this);
}

Bar::Bar(Foo * f) {
     foo = f;
}

我试图将值相互传递,但Bar并未向Foo声明。如何让Foo知道Bar?

1 个答案:

答案 0 :(得分:3)

class Bar;  // <-- Forward declaration.

class Foo {
     public: 
          Foo();
     private: 
          Bar * b;
}