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

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

C++ 局部類和嵌套類

2019-11-17 05:40:08
字體:
供稿:網(wǎng)友
局部類

  在一個(gè)函數(shù)體內(nèi)定義的類稱為局部類。局部類中只能使用它的外圍作用域中的對(duì)象和函數(shù)進(jìn)行聯(lián)系,因?yàn)橥鈬饔糜蛑械淖兞颗c該局部類的對(duì)象無關(guān)。在定義局部類時(shí)需要注重:局部類中不能說明靜態(tài)成員函數(shù),并且所有成員函數(shù)都必須定義在類體內(nèi)。在實(shí)踐中,局部類是很少使用的。下面是一個(gè)局部類的例子。

  int a;
  void fun()
  {
  static int s;
  class A
  {
    public:
    void init(int i) { s = i; }
  };
  A m;
  m.init(10);
  }

  嵌套類

  在一個(gè)類中定義的類稱為嵌套類,定義嵌套類的類稱為外圍類。

  定義嵌套類的目的在于隱藏類名,減少全局的標(biāo)識(shí)符,從而限制用戶能否使用該類建立對(duì)象。這樣可以提高類的抽象能力,并且強(qiáng)調(diào)了兩個(gè)類(外圍類和嵌套類)之間的主從關(guān)系。下面是一個(gè)嵌套類的例子:

  class A
  {
   public:
    class B
    {
    public:
      …
    PRivate:
      …
    };
    void f();
    private:
    int a;
  }

  其中,類B是一個(gè)嵌套類,類A是外圍類,類B定義在類A的類體內(nèi)。

  對(duì)嵌套類的若干說明:

  1、從作用域的角度看,嵌套類被隱藏在外圍類之中,該類名只能在外圍類中使用。假如在外圍類的作用域內(nèi)使用該類名時(shí),需要加名字限定。

  2、從訪問權(quán)限的角度來看,嵌套類名與它的外圍類的對(duì)象成員名具有相同的訪問權(quán)限規(guī)則。不能訪問嵌套類的對(duì)象中的私有成員函數(shù),也不能對(duì)外圍類的私有部分中的嵌套類建立對(duì)象。

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

  4、嵌套類中說明的成員不是外圍類中對(duì)象的成員,反之亦然。嵌套類的成員函數(shù)對(duì)外圍類的成員沒有訪問權(quán),反之亦然。國(guó)此,在分析嵌套類與外圍類的成員訪問關(guān)系時(shí),往往把嵌套類看作非嵌套類來處理。這樣,上述的嵌套類可寫成如下格式:

  class A
  {
  public:
    void f();
  private:
    int a;
  };

    class B
  {
    public:
    …
  private:
    …
  };

  由引可見,嵌套類僅僅是語(yǔ)法上的嵌入。

  5、在嵌套類中說明的友元對(duì)外圍類的成員沒有訪問權(quán)。

  6、假如嵌套類比較復(fù)雜,可以只在外圍類中對(duì)嵌套類進(jìn)行說明,關(guān)于嵌套的具體的內(nèi)容可在外圍類體外的文件域中進(jìn)行定義。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 梁山县| 金湖县| 绥中县| 陈巴尔虎旗| 湄潭县| 临沂市| 奉贤区| 宁强县| 云梦县| 望奎县| 海阳市| 钦州市| 九龙城区| 宣武区| 浪卡子县| 专栏| 凤台县| 桦川县| 万山特区| 西充县| 岳阳县| 丰城市| 乌恰县| 十堰市| 藁城市| 绥芬河市| 遂溪县| 疏附县| 宜宾市| 景泰县| 固阳县| 曲周县| 秦皇岛市| 柳林县| 普宁市| 双辽市| 莫力| 台北县| 莫力| 民勤县| 福泉市|