tom*_*myk 3 c++ destructor inline pure-virtual
我试过的两个编译器接受这种语法,但我在某处读到纯虚析构函数定义应始终在类之外.我编写的代码:
class AbstractBase
{
public:
virtual ~AbstractBase() = 0
{}
virtual void foo()
{
...
}
};
Run Code Online (Sandbox Code Playgroud)
根据标准,您无法在类体内定义纯虚函数.
有些编译器确实支持此功能作为扩展.请注意,使用此扩展程序会使您的代码在不同的编译器中不可移植.
参考:
C++ 03 10.4第2段:
[注意:函数声明不能同时提供纯指定符和定义-end note] [示例:
Run Code Online (Sandbox Code Playgroud)struct C { virtual void f() = 0 { }; // ill-formed };- 末端的例子]
| 归档时间: |
|
| 查看次数: |
1489 次 |
| 最近记录: |