我正在设计一个具有同一类指针的矢量对象的类。对象。
例如:
#include <vector>
using namespace std;
class X
{
private:
vector<X*> _neighbors;
};
我想使用typedef
语句来缩短我的工作,但我也希望在类声明之外使用它,例如在另一个类中。我应该在哪里写typedef
声明?在课堂宣言之前?之后呢?
答案 0 :(得分:3)
您可以在定义之前声明该类:
#include <vector>
class X ;
typedef std::vector <X*> AX ;
class X {
AX _neighbors ;
} ;
或者作为捷径(感谢@PaulRoub):
#include <vector>
typedef std::vector <class X *> AX ;
class X {
AX _neighbors ;
} ;