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

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

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

2020-01-26 15:53:37
字體:
來源:轉載
供稿:網友

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


運行結果:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 民县| 金塔县| 邵阳市| 喜德县| 遂宁市| 呼玛县| 南宫市| 贡嘎县| 达孜县| 松江区| 孝昌县| 白银市| 清丰县| 缙云县| 兰坪| 尤溪县| 卢氏县| 五寨县| 清水河县| 颍上县| 龙海市| 离岛区| 磐安县| 勃利县| 延安市| 河间市| 乌兰察布市| 金坛市| 金乡县| 崇文区| 新干县| 睢宁县| 芮城县| 盐池县| 邮箱| 湘潭县| 左贡县| 青田县| 武陟县| 平江县| 绥化市|