1.嵌套類是一個獨立的類,與外層類基本沒什么關系。特別的是,外層類的對象和嵌套類的對象是相互獨立的。在嵌套類的對象中不包含任何外層類定義的成員,在外層類的對象中也不包含任何嵌套類定義的成員。
?
2.嵌套類在其外層類中定義了一個類型成員。和其他成員類似,該類型的訪問權限由外層類決定。
class external { public:int m_id; // internal里無法使用這個變量class internal; };class external::internal { public:internal(); };external::internal::internal() { }
c語言中結構體中嵌套另一個結構體、?
3.局部類定義的類型只在定義它的作用域內可見,局部類的所有成員都必須完整定義在類的內部。類似的,在局部類中也不允許聲明靜態數據成員,因為我們沒法定義這樣的成員。
?
4.局部類對外層作用域中的名字的訪問權限收到很多限制,局部類只能訪問外層作用域定義的類型名,靜態變量以及枚舉成員。如果局部類定義在某個函數內部,則該函數的普通局部變量不能被該局部類使用。
namespace A {int i;class partical{public:partical() { i = 0; } // 正確 }; }void test() {int i;class partical{public:partical() { i = 0; } // 錯誤 }; }
友元類是被定義在某個類中的嵌套類,
?
?