在c ++中创建虚拟函数时,我必须在哪里编写"虚拟"关键词?如果我在java
中编写virtual int function_name而不是int virtual function_name会有所不同吗?答案 0 :(得分:2)
在c ++中创建虚拟函数时,我必须在哪里编写
virtual
关键字?
在函数声明中,在函数名之前,在任何属性说明符之后,以及其他说明符(包括函数返回类型的类型说明符)。
声明的一般语法是
simple-declaration:
decl-specifier-seq<opt> init-declarator-list<opt> ;
attribute-specifier-seq decl-specifier-seq<opt> init-declarator-list ;
其中virtual
(a 函数说明符)和返回类型( type-specifier )都是 decl-specifier的一部分-seq ,并且声明的名称是 init-declarator-list 的一部分。
如果我写
,这会有所不同吗?virtual int function_name
而不是int virtual function_name
不,说明符的顺序没有区别。
但是,如果您将virtual
放在类型说明符之后,您可能会对某些人感到惊讶,因为它之前更常见。在我回答这个问题之前,我不知道你能做到这一点。
答案 1 :(得分:0)
最好写const int n; virtual void a(); volatile char s;
const, virtual and volatile
是修饰符。
它并不意味着它会更好地运作,或者它会更正确&#34;。正如@MikeSeymour指出的那样,它是一种美学选择。