嵌套类中的继承

时间:2015-03-11 10:38:45

标签: c++ inheritance nested

我希望有一个班级Type,以及三个班级IntegerRealString Type。{是否可以将这三个类嵌套在Type中?这样我就可以编写Type::Integer int,并获得一个类型为Type::Integer的对象,该对象继承自Type

class Type {
   class Integer : public Type {

   };
   class Real : public Type {

   };
   class String : public Type {

   };
};

Type::Integer int;

1 个答案:

答案 0 :(得分:2)

不用考虑你的设计的健全性:

class Type {
public:
   class Integer;
   class Real;
   class String;
};

class Type::Integer : public Type{};
class Type::Real    : public Type{};
class Type::String  : public Type{};

附注:您不能使用int作为标识符。