繁体   English   中英

这个程序正确吗->使用C ++ 0x N3242

[英]Is this program is correct -->using C++0x N3242

类是一种类型。 它的名称在其范围内成为类名(9.1)。

  class-name: identifier simple-template-id 

类名和详细类型名(7.1.6.3)用于创建类名。 类的对象由成员和基类对象的序列(可能为空)组成。

  class-specifier: class-head { member-specificationopt } class-head: class-key attribute-specifier-seqopt class-head-name class-virt-specifier-seqopt base-clauseopt class-key attribute-specifier-seqopt base-clauseopt class-head-name: nested-name-specifieropt class-name class-virt-specifier-seq: class-virt-specifier class-virt-specifier-seq class-virt-specifier class-virt-specifier: final explicit class-key: class struct union 

一个class-virt-specifiner-seq最多应包含每个class-virt-specifiner中的一个。

一个类说明者,其类头省略了类头名,它定义了一个未命名的类。 [注意:因此,未命名的类不能是最终的或显式的。 —尾注]

在这里:他们使用->最终的,显式的作为class-virt-specer:

为此,我应该这样使用:

 1) struct A{ void f();};
    struct B final : A{void f();};
    int main() {   return 0; }
 2) struct A{ void f();};
    struct B explicit : A{void f();};
   int main() {   return 0; }
   etc...

谁能告诉我正确的用法...如果错了

AND:请告诉我哪个编译器将支持此功能。(我知道VC ++,GCC 4.6.0支持许多功能),但是GCC不支持上述功能。请建议我该怎么做?

看起来还可以,但是我不认为任何编译器都可以实现。

它也可能会更改,因为有一个删除要求:

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3234.pdf

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM