青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++研究

C++細(xì)節(jié)深度探索及軟件工程

  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  37 隨筆 :: 0 文章 :: 74 評(píng)論 :: 0 Trackbacks

 嵌套類的訪問(wèn)問(wèn)題:

記得白鳳煮的C++中有一句這樣的話:C++嵌套類只是語(yǔ)法上的嵌套。然而在實(shí)踐過(guò)程中,卻并非如此。
Ex:

class A
{
public:  
    
static int a;
    
class A1
    
{
        
void output()
        
{
          cout
<<a<<endl; //instead of A::a;
        }

    }
;
  
}
;
int A::a;


可見,類 A1 嵌入A后訪問(wèn)A的靜態(tài)變量不寫外圍域沒(méi)有任何問(wèn)題,從編譯的角度看,此時(shí)位于A::的作用域內(nèi),在符號(hào)表中是可以找到a的(注意,a必須為static的)。這一點(diǎn),與分開寫的兩個(gè)類明顯不同

天津大學(xué)計(jì)算機(jī)學(xué)院 常興龍 MSN: cxl82116@msn.com

還有一個(gè)特殊之處,見如下代碼:

 

Ex:

class A
{
private:
    
int a;
    
class A1
    
{
        
void output(A aObject)
        
{
          cout
<<aObject.a<<endl; //instead of A::a;
        }

    }
;
  
}
;





這段代碼在VC中不能編譯通過(guò),但在DEV-C++是可以的,也就是不同的編譯對(duì)于嵌套類是否能訪問(wèn)外圍類的私有成員的定義是不一致的。

嵌套類的不同作用域同名問(wèn)題:

class A
{
public:  
    
static int a;
    
class A1
    
{
        
static int a;
        
int    void output()
        
{
          cout
<<a<<endl; //instead of A::a;
        }

    }
;
  
}
;
int A::a=3;
int A::A1::a=4;


輸出內(nèi)部的a沒(méi)有問(wèn)題,如果要訪問(wèn)外部的,使用A::a指明作用域就可以,而且在嵌套類中,可以定義靜態(tài)的成員。
用類似A::A1::a就可以訪問(wèn).
先看一下Java的情況
Ex:

//this is a Java class 
class A
{
    
private int c=2;
    
class A1
    
{
        
int c=3;
        
void output()
        
{
            System.
out.println(this.c);
            System.
out.println(A.this.c);
        }

    }

}



由定義就可看出,Java的定義是動(dòng)態(tài)定義的,是基于this指針的,因此,嵌套類不只在語(yǔ)法上,在語(yǔ)義上也有隸屬關(guān)系,外圍類的成員,包含私有成員,對(duì)于內(nèi)部類也是可見的。因此內(nèi)部非Static的類不能有Static成員,且這樣的內(nèi)部類只有在外層的對(duì)象建立后才能對(duì)建立,所以你可以這么建立對(duì)象:
Ex:

 A a = new A();
 A.A1 aa = a.new A1();

或者:
Ex:
 
A.A1 aa = new A().new A1(); //使用匿名對(duì)象

如果是靜態(tài)嵌套類
Ex:

 


//this is a Java class 
class A
{
    
private int c=2//(1)
    static class A1
    
{
      
static int c=3;
        
void output()
        
{
            
//System.out.println(this.c); //work well <--> A.A1.c; 這個(gè)結(jié)果由編譯靜態(tài)成生和動(dòng)態(tài)加載相對(duì)地址理論輕松解釋
            
//System.out.println(A.this.c);// (can't work) ,很明顯要求外圍對(duì)象存在,把(1)改成static 的可以通過(guò)
            System.out.println(c);  //work well 
        }

    }

}



對(duì)比上面Java的定義,可見C++中的黓認(rèn)行為和Java中的靜態(tài)類相似,由此,可以猜出C++中的類是做靜態(tài)存儲(chǔ)的。因此,可以輕松的得出如下語(yǔ)句也是可以的:


Ex:
//C++
A::A1 * a = new A::A1();

 

因此,也可以得到在 C++ 中 ,內(nèi)部類也是可以有靜態(tài)對(duì)象的。

posted on 2007-05-23 02:23 常興龍 閱讀(7827) 評(píng)論(3)  編輯 收藏 引用

評(píng)論

# re: 有關(guān) C++ 嵌套類 2007-05-23 06:50 飯中淹
試試便知。

我以前看過(guò)書上說(shuō)類中類算是友元類,不應(yīng)該能訪問(wèn)私有,可以訪問(wèn)保護(hù)。  回復(fù)  更多評(píng)論
  

# re: 有關(guān) C++ 嵌套類 2007-06-10 17:46 黃大仙
好  回復(fù)  更多評(píng)論
  

# re: 有關(guān) C++ 嵌套類 2008-10-05 14:57 老穆
好!!  回復(fù)  更多評(píng)論
  


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


> hi的博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产日韩欧美综合久久| 欧美一级免费视频| 亚洲乱码日产精品bd| 欧美 日韩 国产 一区| 91久久国产综合久久蜜月精品| 亚洲激情校园春色| 欧美高清在线一区| 一区二区三区日韩| 久久九九精品| 亚洲国产婷婷综合在线精品 | 国产精品老牛| 性娇小13――14欧美| 久久综合色88| 妖精视频成人观看www| 国产精品久久影院| 久久精品一区蜜桃臀影院| 欧美韩国日本一区| 亚洲尤物在线| 依依成人综合视频| 欧美三日本三级少妇三99| 小黄鸭精品aⅴ导航网站入口| 欧美成人在线网站| 亚洲欧美中文日韩v在线观看| 韩国av一区二区三区| 欧美另类一区| 欧美自拍丝袜亚洲| 日韩视频第一页| 久久伊人一区二区| 亚洲女同精品视频| 亚洲风情亚aⅴ在线发布| 99国产精品99久久久久久| 午夜精品偷拍| 在线不卡中文字幕| 欧美日韩在线大尺度| 久久手机精品视频| 亚洲天堂av在线免费| 欧美国产日韩亚洲一区| 欧美一区二区三区在线视频 | 亚洲精品免费网站| 久久青草久久| 亚洲一区二区三区在线看| 亚洲国产成人在线| 国产日韩欧美91| 欧美视频一区二区在线观看| 噜噜噜久久亚洲精品国产品小说| 亚洲视频欧美视频| 亚洲人精品午夜在线观看| 免费观看国产成人| 欧美怡红院视频| 亚洲午夜精品在线| 99日韩精品| 亚洲欧洲另类| 在线精品国精品国产尤物884a| 国产精品视频区| 欧美日韩在线免费视频| 欧美国产精品一区| 久久女同精品一区二区| 欧美一区二区私人影院日本 | 女人天堂亚洲aⅴ在线观看| 欧美一级视频一区二区| 亚洲视频视频在线| 一本色道88久久加勒比精品| 91久久国产综合久久蜜月精品 | 欧美成人综合在线| 美女精品网站| 美女999久久久精品视频| 久久久精品日韩欧美| 久久国产精品一区二区| 香蕉久久一区二区不卡无毒影院 | 日韩视频永久免费| 91久久久一线二线三线品牌| 亚洲成人自拍视频| 在线免费不卡视频| 亚洲国产欧美日韩| 亚洲国产一区二区a毛片| 亚洲国产精品一区二区久| 亚洲国产精品黑人久久久| 亚洲国产裸拍裸体视频在线观看乱了中文 | 在线播放不卡| 在线精品在线| 亚洲欧洲日产国码二区| 91久久精品国产91久久| 亚洲精品欧美| 国产精品99久久99久久久二8| 中日韩高清电影网| 亚洲女性喷水在线观看一区| 欧美亚洲免费高清在线观看| 久久精品国产91精品亚洲| 久久久精品一品道一区| 欧美~级网站不卡| 亚洲欧洲中文日韩久久av乱码| 激情视频一区二区三区| 午夜伦欧美伦电影理论片| 亚洲精品免费在线观看| 久久国产精品99精品国产| 亚洲国产欧美一区二区三区丁香婷| 欧美精品精品一区| 免费视频久久| 欧美激情视频一区二区三区不卡| 欧美日韩成人在线| 国产女优一区| 亚洲国产精品久久久久秋霞不卡| 亚洲免费观看在线观看| 亚洲伊人观看| 久久久精品国产免大香伊| 欧美成人免费大片| 日韩一级精品| 久久国产精品一区二区| 欧美freesex交免费视频| 欧美午夜精品理论片a级大开眼界| 国产伦精品一区二区三区免费| 伊人一区二区三区久久精品| 日韩视频一区二区在线观看| 亚洲欧美国产77777| 六月天综合网| 日韩视频中文| 久久久综合网站| 欧美丝袜一区二区三区| 伊人久久综合97精品| 一本一本久久a久久精品牛牛影视| 久久av一区二区| 亚洲精品视频一区二区三区| 欧美在线观看一区二区| 欧美日韩另类视频| 在线日韩日本国产亚洲| 香蕉av福利精品导航| 亚洲狠狠丁香婷婷综合久久久| 亚洲欧洲av一区二区三区久久| 免费观看成人www动漫视频| 国产女人aaa级久久久级| 一本色道久久88精品综合| 久久这里只有| 午夜精品婷婷| 欧美午夜精品| 亚洲精品一区久久久久久| 久久综合久久久久88| 亚洲永久字幕| 欧美三区美女| 一区二区三区精品视频| 欧美大片一区二区| 欧美一区二区在线播放| 国产精品一区=区| 亚洲一区三区电影在线观看| 亚洲国产第一页| 久久久久久国产精品mv| 国产亚洲欧美另类一区二区三区| 亚洲无玛一区| 亚洲精品在线观看免费| 欧美成人蜜桃| 亚洲国产成人精品女人久久久| 久久久免费观看视频| 午夜精品在线| 国产欧美综合在线| 欧美一区二区精品久久911| 亚洲精选国产| 欧美日韩视频在线一区二区观看视频| 亚洲国产老妈| 亚洲第一二三四五区| 免费欧美视频| 亚洲人成久久| 亚洲高清视频一区| 欧美成人有码| 一区二区日韩| 中文精品视频| 国产精品日日摸夜夜摸av| 亚洲欧洲av一区二区| 一区二区国产精品| 国产精品久久久久天堂| 欧美一区二区三区免费观看视频| 亚洲综合国产| 国产欧美日本一区视频| 久久久99爱| 久久久一区二区| 亚洲国产一区二区三区a毛片| 亚洲第一福利社区| 欧美精品免费在线| 亚洲网友自拍| 午夜精品久久99蜜桃的功能介绍| 国产网站欧美日韩免费精品在线观看| 久久精品亚洲国产奇米99| 久久精品国产2020观看福利| 精品福利av| 亚洲国产日韩综合一区| 欧美日韩综合不卡| 亚洲欧美日韩在线不卡| 欧美自拍偷拍午夜视频| 亚洲国产成人久久综合一区| 亚洲激情第一页| 国产精品福利在线观看网址| 久久精品国产亚洲aⅴ| 久久综合99re88久久爱| 亚洲最新合集| 亚洲欧美综合另类中字| 亚洲高清一二三区| 亚洲美女色禁图| 国产一区二区三区日韩欧美| 欧美大片va欧美在线播放| 欧美日韩在线视频一区| 久久人人97超碰精品888 | 午夜精品久久久久久久蜜桃app|