国产十八禁AV网站,欧美日韩亚洲国产综合乱,亚洲国产aⅴ成人精品无吗,秋霞午夜福利影院合集


       找回密碼
       注冊

      QQ登錄

      只需一步,快速開始

      兩義性及其支配規(guī)則

      [復(fù)制鏈接]
      1#
      發(fā)表于 2008-9-29 20:24:22 | 只看該作者 |倒序瀏覽 |閱讀模式
      <P>什么是兩義性:當(dāng)一個派生類是<FONT color=#0000ff>多重派生</FONT>也就是由多個基類派生而來時,假如這些基類中的成員有成員名相同的情況,<FONT color=#ff0000>如果使用一個表達式引用了這些同名的成員</FONT>,就會造成無法確定是引用哪個基類的成員,<FONT color=#ff0000>這種對基類成員的訪問就是<FONT color=#0000ff>兩義性</FONT>的</FONT>。</P>
      ) p: _  i& v: Z( Q<P>要避免在派生類定義及使用時出現(xiàn)兩義性的情況,我們可以使用<FONT color=#0000ff>成員名限定</FONT>來消除兩義性,也就是在成員名前<FONT color=#ff0000>用對象名及基類名來限定</FONT>,如:</P>
      ) v: E. F$ r3 `& A' T5 F<P>obj.A::func( );//A的func( );</P>2 C# v' y  X6 x9 y5 i. v
      <P>obj.B::func( );//B的func( );</P>
      ! |- S. _% K; z7 Y) U5 h8 R<P><B>C++作用域規(guī)則</B>:就是當(dāng)基類中的成員名字在派生類中再次聲明,則派生類中的名字就屏蔽掉基類中相應(yīng)的名字(也就是派生類的自定義成員與基類成員同名時,派生類的成員優(yōu)先)。那么如果要使用被屏蔽的成員呢? 這就要由作用<FONT color=#0000ff>域分辨操作符</FONT>實現(xiàn)了。它的形式是 <FONT color=#0000ff>類名 ::類標(biāo)識符</FONT> 。作用域分辨不僅可以用在<FONT color=#0000ff>類</FONT>中,而且可以用在<FONT color=#0000ff>函數(shù)調(diào)用</FONT>時。</P>
      7 B7 `& m0 T! o" m! I<P><FONT face=黑體>支配規(guī)則</FONT>:課本上的定義是:類X中的名字N支配類中同名的名字N,是指類Y為它的一個基類,這稱為支配規(guī)則。我們可以理解為一個派生類中的名字將優(yōu)先于與它的基類中相同的名字。這時二者之間不存在兩義性,當(dāng)選擇該名字時,使用支配者(派生類中)的名字 。支配規(guī)則是對名字而言的。 </P>3 C1 a  g7 R% Y  Q& ~: ]
      <P>如果一個<FONT color=#0000ff>派生類</FONT>從<FONT color=#ff0000>多個基類</FONT>中派生,而這些基類又有一個<FONT color=#ff0000>共同的基類</FONT>,則在這個派生類中<FONT color=#ff0000>訪問這個共同基類</FONT>中的成員時會產(chǎn)生<FONT color=#0000ff>兩義性</FONT>。</P>
      , J7 }& K. g! j& f+ O<P>為了避免兩義性,應(yīng)使用<FONT color=#0000ff>作用域分辨操作符</FONT>來實現(xiàn)。一般只有在派生類中使用的標(biāo)識符與基類中的標(biāo)識符時,才有必要使用作用域分辨符進行存取。</P>
      您需要登錄后才可以回帖 登錄 | 注冊

      本版積分規(guī)則

      QQ|本地廣告聯(lián)系: QQ:905790666 TEL:13176190456|Archiver|手機版|小黑屋|汶上信息港 ( 魯ICP備19052200號-1 )

      GMT+8, 2025-4-21 07:35

      Powered by Discuz! X3.5

      © 2001-2025 Discuz! Team.

      快速回復(fù) 返回頂部 返回列表