不要求纯函数是虚拟的.如果您正在考虑"纯虚函数"一词,那么"纯"适用于"虚拟"; 该功能纯粹是虚拟的.这是"纯粹"一词的另一种用法.
我的意思是,"纯粹"这个词只是为了宣布一个抽象类.
不是.声明纯虚函数的原因不是要阻止封闭类的实例化; 它是为了确保具体的子类实现该方法,通常是因为抽象类无法提供合理的实现.
好吧,我不能将多态性与纯正常函数一起使用,但无论如何都要达到主要原因(将类声明为抽象).
如果您正在寻找一种在没有任何纯虚函数的情况下声明类抽象的方法,那么C++没有专门的语法.我看到的建议是声明和实现一个纯虚拟析构函数(你可以这样做),或者使构造函数受到保护(但是使构造函数受到保护不会使你的类通过std::is_abstract).在任何情况下,将语法附加到任意成员函数都没有多大意义; 类似的东西class Foo = 0 { ... };会更有意义.
| 归档时间: |
|
| 查看次数: |
292 次 |
| 最近记录: |