虚函数的语法

Syntax for virtual functions

在 C++ 中创建一个虚函数时,我必须在哪里写 "virtual" 关键字?如果我像 java

那样写 virtual int function_name 而不是 int virtual function_name 会有什么不同吗

最好写成const int n; virtual void a(); volatile char s;,其中const, virtual and volatile是修饰符。

这并不意味着它会更好地工作或者会 "more correct"。正如@MikeSeymour 指出的那样,这是一种审美选择。

While making a function virtual in c++ where do I have to write virtual keyword?

在函数声明中,在函数名称之前,在任何属性说明符之后,以及其他说明符(包括函数 return 类型的类型说明符)。

声明的一般语法是

simple-declaration:
    decl-specifier-seq<opt> init-declarator-list<opt> ;
    attribute-specifier-seq decl-specifier-seq<opt> init-declarator-list ;

其中 virtual函数说明符)和 return 类型(类型说明符) 是 decl-specifier-seq 的一部分,声明的名称是 init-declarator-list.[=18 的一部分=]

Does it make a difference if I write virtual int function_name instead of int virtual function_name

不,说明符的顺序没有区别。

但是,如果将 virtual 放在类型说明符之后,您可能会感到惊讶,因为将它放在前面更为常见。在我回答了这个问题之前,我不知道你可以这样做。