如何声明一个纯const的虚拟成员函数?我可以这样做吗?
virtual void print() = 0 const;
Run Code Online (Sandbox Code Playgroud)
或者像这样?
virtual const void print() = 0;
Run Code Online (Sandbox Code Playgroud)
rai*_*7ow 59
要声明常量成员函数,请将
const关键字放在参数列表的右括号之后.
所以它应该是:
virtual void print() const = 0;
Run Code Online (Sandbox Code Playgroud)
Ada*_*eld 20
只有virtual void print() const = 0表格是可以接受的.看一下C++03§9/ 2中的语法规范:
member-declarator:
declarator pure-specifier opt
declarator constant-initializer opt
identifier opt:constant-expression纯符:
= 0
该const是金声明符 -它的CV限定符序列选择在直接说明符(§8/ 4):
声明者:
直接声明者
ptr-operator*声明者*direct-declarator:
declarator-id
direct-declarator(parameter-declaration-clause)cv-qualifier-seq opt exception-specification opt
direct-declarator[constant-expression opt]
(declarator)
因此,= 0必须在之后const.
| 归档时间: |
|
| 查看次数: |
21668 次 |
| 最近记录: |