在类声明块的内部和外部使用typedef语句

时间:2015-08-10 14:46:40

标签: c++ class typedef

我正在设计一个具有同一类指针的矢量对象的类。对象。

例如:

#include <vector>
using namespace std;
class X
{
private:
   vector<X*> _neighbors;
};

我想使用typedef语句来缩短我的工作,但我也希望在类声明之外使用它,例如在另一个类中。我应该在哪里写typedef声明?在课堂宣言之前?之后呢?

1 个答案:

答案 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 ;
} ;