声明与 类的定义

Use*_*482 2 c++

我有一个关于类声明与类定义的快速问题。

因此,我可以想到四种不同的类代码方案:

哪些符合声明,哪些符合定义?为什么?

TIA。

1)

class foo_empty{};
Run Code Online (Sandbox Code Playgroud)

2,3)

class foo_NoMemDef{
   int f1(); //Member function declaration(?), no body
  //int i; (consider including this as a separate case 3)
};
Run Code Online (Sandbox Code Playgroud)

4)

class foo_final{
   int f2(){}
};
Run Code Online (Sandbox Code Playgroud)

lub*_*bgr 6

哪些符合声明,哪些符合定义?

所有示例都显示类定义(也是声明)。不是定义的类声明如下所示:

class Foo;
Run Code Online (Sandbox Code Playgroud)

一旦通过{和来“打开/关闭”一个类},就可以提供一个定义。