1. 程式人生 > >C++ 英語筆試題

C++ 英語筆試題

  1. class Base  
  2. {  
  3.     public:  
  4.     Base(){cout << "In Base Ctor/n";  
  5. }  
  6.     class Nest  
  7.     {  
  8.         public:  
  9.         Nest(){cout << "In Nest Ctor/n"; }  
  10.     };     
  11. };  
  12. class Derive : public Base  
  13. {  
  14.     public:         
  15.     Derive(){cout << "In Derive Ctor/n"; }  
  16. };  
  17. void main()  
  18. {  
  19.     Derive obj;  
  20. }  

A. Base constructor

Derive constructor

    B. Base constructor

Derive constructor

Nest constructor

    C. Base constructor

Nest constructor

Derive constructor

    D. Nest constructor

Base constructor

Derive constructor

    E. Derive constructor

Base constructor

Nest constructor

A

巢狀類是獨立的類,基本上與它們的外圍類不相關,因此,外圍類和巢狀類的物件是互相獨立的。巢狀型別的物件不具備外圍類所定義的成員,同樣,外圍類的成員也不具備巢狀類所定義的成員。

巢狀類的名字在其外圍類的作用域中可見,但在其他類作用域或定義外圍類的作用域中不可見。巢狀類的名字將不會與另一作用域中宣告的名字衝突。

巢狀類可以具有與非巢狀類相同種類的成員。像任何其他類一樣,巢狀類使用訪問標號控制對自己成員的訪問。成員可以宣告為 public、 private 或 protected。外圍類對巢狀類的成員沒有特殊訪問權,並且巢狀類對其外圍類的成員也沒有特殊訪問權。

巢狀類定義了其外圍類中的一個型別成員。像任何其他成員一樣,外圍類決定對這個型別的訪問。在外圍類的public 部分定義的巢狀類定義了可在任何地方使用的型別,在外圍類的 protected 部分定義的巢狀類定義了只能由外圍類、友元或派生類訪問的型別,在外圍類的 private 部分定義的巢狀類定義了只能被外圍類或其友元訪問的型別。