[英]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.