具有指定基类的类声明

时间:2014-05-04 09:30:58

标签: c++ class declaration

我试图将类声明为以下内容:

class MyClass: MyBase;

但我不能因为编译器咒骂。

error: expected ‘{’ before ‘;’ token

我试图找到一个类名声明来澄清这个方面。但我不能。我正在c ++工作草案的第7条(声明)中寻找这个。

3 个答案:

答案 0 :(得分:2)

如果您只想声明 MyClass课程,那么

class MyClass;

就够了。它告诉编译器类MyClass存在,您现在可以声明指向MyClass的指针或引用。

如果你想定义类,那么你需要完全定义。

答案 1 :(得分:1)

以这种方式给出定义:

  

类MyClass:MyBase

     

{

     

//////

     

};

如果您只想声明,那么就这样做:

  

类MyClass;

答案 2 :(得分:1)

关于标准(n3797):

9.1班级名称

  

类声明引入了类名...声明   仅由类密钥标识符组成;是要么重新声明   当前范围中的名称或者前向声明   标识为类名。它将类名引入   目前的范围。

10个派生类

  

基类列表可以在类定义中指定...

所以,你可以告诉编译器:“哦,我稍后会定义这个类”。如果你需要知道类的“结构”,那么你需要定义它。