国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

詳細解析C++嵌套類與局部類的說明

2020-02-24 14:28:16
字體:
來源:轉載
供稿:網友

嵌套類隱藏在外圍類中,只能在外圍類中使用,如果在外圍類以外的作用域中使用該類名,則需要按名稱對其進行限定,今天武林技術頻道小編為你詳細解析C++嵌套類與局部類的說明。

1. 嵌套類
外圍類需要使用嵌套類對象作為底層實現,并且該嵌套類只用于外圍類的實現,且同時可以對用戶隱藏該底層實現。
從作用域的角度看,嵌套類被隱藏在外圍類之中,該類名只能在外圍類中使用。如果在外圍類之外的作用域使用該類名時,需要加名字限定。

嵌套類中的成員函數可以在它的類體外定義。

嵌套類的成員函數對外圍類的私有成員沒有訪問權,反之亦然。

嵌套類僅僅只是語法上的嵌入。

2. 局部類
類也可以定義在函數體內,這樣的類被稱為局部類(loacl class)。局部類只在定義它的局部域內可見。

局部類的成員函數必須被定義在類體中。

局部類中不能有靜態成員函數。

在實踐中,局部類很少使用。

下面給出一段代碼來說明:

?

#include<iostream>
using namespace std;

?

class Outer
{
public:
?class Inner
?{
?public:
??void Fun();
?};
public:
??? Inner obj_;
?void Fun()
?{
?? cout<<"Outer::Fun...."<<endl;
?? obj_.Fun();
?}
};

void Outer::Inner::Fun()
{
? cout<<"Inner::Fun..."<<endl;
}

void Fun()
{
? class LocalClass
? {
? public:
?? int num_;
?? void Init(int num)
?? {
???? num_=num;
?? }
?? void Display()
?? {
???? cout<<"num_"<<num_<<endl;
?? }
? };
? LocalClass lc;
? lc.Init(10);
? lc.Display();
}

int main()
{
? Outer o;
? o.Fun();
? Outer::Inner i;
? i.Fun();
? Fun();
? return 0;
}

?

?

運行結果:

?

?

以上就是由武林技術頻道小編帶來的詳細解析C++嵌套類與局部類的說明,希望對大家有所幫助!如果你還不知道這些操作方法的話,那么趕快學習一下吧!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 铜陵市| 古丈县| 宜兴市| 镇赉县| 临清市| 兴山县| 汤阴县| 介休市| 崇信县| 新蔡县| 交口县| 泰和县| 兖州市| 团风县| 闽清县| 尖扎县| 长宁县| 岱山县| 措勤县| 修水县| 行唐县| 裕民县| 扶余县| 明溪县| 岫岩| 庆元县| 泸州市| 高碑店市| 友谊县| 炎陵县| 界首市| 巴东县| 文水县| 英山县| 寻甸| 嘉峪关市| 泸定县| 鸡泽县| 郎溪县| 赣州市| 台州市|