欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2013年09月12日 09:02:09   作者:  
從作用域的角度看,嵌套類被隱藏在外圍類之中,該類名只能在外圍類中使用。如果在外圍類之外的作用域使用該類名時,需要加名字限定

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

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

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

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

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

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

局部類中不能有靜態(tài)成員函數(shù)。

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

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

復制代碼 代碼如下:

#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;
}


運行結果:

相關文章

  • Qt自定義控件實現(xiàn)圓圈加載進度條

    Qt自定義控件實現(xiàn)圓圈加載進度條

    這篇文章主要為大家詳細介紹了Qt自定義控件實現(xiàn)圓圈加載進度條,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • vs2022?qt環(huán)境搭建調試的方法步驟

    vs2022?qt環(huán)境搭建調試的方法步驟

    最近net6和vs2022發(fā)布,本文就詳細的介紹一下vs2022?qt環(huán)境搭建調試的方法步驟,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 淺談C++中對象的復制與對象之間的相互賦值

    淺談C++中對象的復制與對象之間的相互賦值

    這篇文章主要介紹了淺談C++中對象的復制與對象之間的相互賦值,是C語言入門學習中的基礎知識,需要的朋友可以參考下
    2015-09-09
  • C++中cin.getline()和getline()函數(shù)的區(qū)別小結

    C++中cin.getline()和getline()函數(shù)的區(qū)別小結

    這篇文章主要介紹了C++中cin.getline()和getline()函數(shù)區(qū)別的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • C++實現(xiàn)Linux下彈出U盤的方法

    C++實現(xiàn)Linux下彈出U盤的方法

    這篇文章主要介紹了C++實現(xiàn)Linux下彈出U盤的方法,實例分析了C++在Linux平臺上進行IO操作的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • VS中scanf為何會報錯詳解

    VS中scanf為何會報錯詳解

    在我們剛使用vs時,在使用scanf函數(shù)時常會遇到報錯提醒,下面這篇文章主要給大家介紹了關于VS中scanf為何會報錯的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • C語言實現(xiàn)帶頭雙向循環(huán)鏈表的接口

    C語言實現(xiàn)帶頭雙向循環(huán)鏈表的接口

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)帶頭雙向循環(huán)鏈表的接口,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • VisualStudio2019配置OpenCV4.5.0的方法示例

    VisualStudio2019配置OpenCV4.5.0的方法示例

    這篇文章主要介紹了VisualStudio2019配置OpenCV4.5.0的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • C++之std::vector刪除元素的幾種方式及區(qū)別說明

    C++之std::vector刪除元素的幾種方式及區(qū)別說明

    這篇文章主要介紹了C++之std::vector刪除元素的幾種方式及區(qū)別說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • C++跳轉語句之Goto對變量定義的影響詳解

    C++跳轉語句之Goto對變量定義的影響詳解

    goto語句也被稱為無條件轉移語句,這篇文章主要介紹了C++跳轉語句之Goto對變量定義的影響,文中通過示例代碼解文字介紹的很詳細,相信對大家的理解和學習具有一定的參考借鑒價值,有需要的朋友們下面跟著小編一起來學習學習吧。
    2016-11-11

最新評論