繼承的關鍵字
Microsoft 專有的
class [__single_inheritance] class-name;
class [__multiple_inheritance] class-name;
class [__virtual_inheritance] class-name;
其中:
- 類別名稱
要宣告的類別名稱。
C + + 可讓您宣告於類別定義的類別成員的指標。例如:
class S;
int S::*p;
在上述程式碼中p宣告為變數的指標,整數類別成員的 s。不過, class S尚未定義在這個程式碼。 它只能被宣告。當編譯器遇到這種指標時,它必須讓滑鼠指標的通用的表示。表示的大小是依存於指定的繼承模型。若要指定給編譯器的繼承模型的四種方式有:
在 IDE 中成員指標表示法
在命令列使用 /vmg 切換
使用 pointers_to_members pragma
使用繼承關鍵字__single_inheritance, __multiple_inheritance,以及__virtual_inheritance。這項技術會控制每個類別為基礎的繼承模型。
注意事項 如果您一律宣告變數的指標成員的類別定義類別後,您不必使用任何這些選項。
宣告於類別定義的類別成員的指標,會影響產生的可執行檔的速度和調整。繼承類別,較大者所代表變數的指標成員的類別和越大來解譯指標所需的程式碼所需的位元組數字使用更複雜。單一繼承是最單純的而虛擬繼承是最複雜。
如果上述範例改成:
class __single_inheritance S;
int S::*p;
無論命令列選項或 pragma、 指標成員的class S會使用最小表示。
注意事項 |
---|
類別成員指標表示相同的向前宣告該類別的成員宣告指標每一個轉譯單位中以及當宣告之前宣告成員指標時,應該進行。 |
結束 Microsoft 特定