免费97视频在线精品国自产拍|亚洲就去吻婷婷永久网|香蕉视观看在线a|日本精品AⅤ在线观看

<dl id="aauvq"></dl>
<blockquote id="aauvq"></blockquote>
<thead id="aauvq"></thead>

<dl id="aauvq"><noframes id="aauvq"></noframes></dl>

           找回密碼
           注冊

          QQ登錄

          只需一步,快速開始

          類運(yùn)算符和友元運(yùn)算符

          [復(fù)制鏈接]
          1#
          發(fā)表于 2008-9-29 20:20:27 | 只看該作者 |倒序?yàn)g覽 |閱讀模式
          <P>因?yàn)樵贑++中我們要特別注意類要符合<FONT color=#0000ff>數(shù)據(jù)封裝</FONT>的要求,這就使運(yùn)算符重載時(shí)訪問類的私有成員出現(xiàn)障礙,要解決這個(gè)問題,就用到了<FONT color=#0000ff>友元運(yùn)算符</FONT>和<FONT color=#0000ff>類運(yùn)算符</FONT>。</P>
          3 r0 f' N( Y- K8 Q; s9 b0 ]<P><FONT color=#0000ff>友元運(yùn)算符</FONT>:上一章我們學(xué)過了<FONT color=#0000ff>友元函數(shù)</FONT>,其實(shí)友元運(yùn)算符重載就是相當(dāng)于定義一個(gè)友元函數(shù),而這個(gè)函數(shù)是運(yùn)算符重載的函數(shù),<FONT color=#0000ff>友元函數(shù)</FONT>事實(shí)上是一個(gè)一般的函數(shù),它沒有this指針,但他可以訪問類(定義了此友元函數(shù)的類)中的私有成員。其他的一般函數(shù)是不能訪問類中的私有成員的。</P>1 e$ k: ?" ~# c7 ~0 f
          <P><FONT color=#0000ff>類運(yùn)算符</FONT>:還有另一種方法可以訪問類的私有成員,那就是運(yùn)用<FONT color=#0000ff>類運(yùn)算符重載</FONT>,這與友元運(yùn)算符重載有何<FONT color=#ff0000>區(qū)別</FONT>呢? 區(qū)別就在于,這個(gè)函數(shù)首先是<FONT color=#0000ff>類的成員函數(shù)(</FONT>不是一般函數(shù)),因?yàn)樗穷惖某蓡T函數(shù),自然就可以訪問該類的私有成了,然后它是一個(gè)<FONT color=#0000ff>運(yùn)算符函數(shù)</FONT>,這樣就可以對運(yùn)算符進(jìn)行重載,二者的<FONT color=#0000ff>參數(shù)表</FONT>有所不同,友元運(yùn)算符的函數(shù)參數(shù)表包括參加運(yùn)算的所有對象,而類運(yùn)算符則的參數(shù)表的參數(shù)是除本身以外的參加運(yùn)算的對象,如有complex類的一個(gè)加法運(yùn)算z=x+y;則友元運(yùn)算符函數(shù)應(yīng)被解釋為z=operator +(x,y) ;類運(yùn)算符則是z=x.operator +(y);后者只有一個(gè)參數(shù)。</P>
          1 E* |' l" Y$ z# f) h; M<P>另外,<FONT color=#ff0000>什么時(shí)候用類運(yùn)算符或用友元運(yùn)算符呢</FONT>?如果運(yùn)算符所需的操作數(shù),尤其是和一個(gè)數(shù)希望進(jìn)行<FONT color=#0000ff>隱式類型轉(zhuǎn)換</FONT>時(shí),應(yīng)該用<FONT color=#0000ff>友元運(yùn)算符重載</FONT>;如果一個(gè)運(yùn)算符的操作需要<FONT color=#0000ff>修改類對象的狀態(tài)</FONT>,則應(yīng)當(dāng)使用<FONT color=#0000ff>類運(yùn)算符</FONT>。注意<FONT face=黑體>=、()、[]、-&gt;</FONT>這4個(gè)運(yùn)算符<FONT color=#ff0000>只能用類運(yùn)算符重載</FONT>。(</P>
          您需要登錄后才可以回帖 登錄 | 注冊

          本版積分規(guī)則

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

          GMT+8, 2025-5-4 14:57

          Powered by Discuz! X3.5

          © 2001-2025 Discuz! Team.

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