亚洲色一色噜一噜噜噜_在线国产精品一区二区_91国自产拍 精品_国产伦三级一区二区

<address id="xly8e"><var id="xly8e"><center id="xly8e"></center></var></address>
<kbd id="xly8e"><dl id="xly8e"></dl></kbd>
<bdo id="xly8e"><mark id="xly8e"><legend id="xly8e"></legend></mark></bdo>
  • <span id="xly8e"><delect id="xly8e"></delect></span>

     找回密碼
     注冊

    QQ登錄

    只需一步,快速開始

    設(shè)計中的幾個問題

    [復(fù)制鏈接]
    1#
    發(fā)表于 2008-9-29 20:17:40 | 只看該作者 |倒序瀏覽 |閱讀模式
    <P>C++編譯器會使原來編輯的一個空類變成一個非空的類,因為它會<FONT color=#ff0000>自動增加</FONT>并調(diào)用以下一些函數(shù):一個<FONT color=#0000ff>復(fù)制構(gòu)造函數(shù)</FONT>、一個<FONT color=#0000ff>賦值算法符</FONT>及一對<FONT color=#0000ff>運算符地址</FONT>,如果沒有說明構(gòu)造函數(shù)的話,它也會編制一個<FONT color=#0000ff>缺省的構(gòu)造函數(shù)</FONT>。這些函數(shù)都是公有函數(shù)。如果類是從其它類<FONT color=#ff0000>派生</FONT>的,而且這個其他類又有一個析構(gòu)函數(shù),則C++也會為這個類增加<FONT color=#0000ff>一個析構(gòu)函數(shù)</FONT>。</P>
    1 I0 E9 u  w! s9 C+ ^4 z0 I<P>組織類的典型方法:</P>( j6 C' o! ^  M& T+ V
    <P>(1)正確地定義動態(tài)內(nèi)存類的復(fù)制構(gòu)造函數(shù)和賦值運算符。</P>
    + j& E- T& v2 @: o<P>(2)宜在構(gòu)造函數(shù)中使用初始化而不要使用賦值。</P>/ q0 G9 ^6 b; q
    <P>(3)初始化表的成員應(yīng)按它們在說明時出現(xiàn)的順序列出。</P>
    ' n! t& b% _2 [/ X1 [/ @3 B<P>(4)把基灶的析構(gòu)函數(shù)用作虛函數(shù)</P>
    . E4 `4 G% d  q7 B* I<P>(5)讓"operator="返回對*this的引用。</P>& s; a3 g+ O5 D" c/ Z3 ?
    <P>(6)正確對"operator="中所有數(shù)據(jù)成員的賦值。</P>  S, {- N5 q' i7 F9 |2 j4 n, }
    <P>(7)注意檢查對"operator="中自身賦值問題。</P>
    6 N$ C6 n7 [: n, b5 j<P><FONT color=#ff0000>怎樣建立和刪除對象</FONT>?可以通過對象名直接建立對象,也可以用對象指針以及new和構(gòu)造函數(shù)一同作用建立動態(tài)對象。直接建立的對象在生存期結(jié)束時自動消失(對象的生存期在遇到右括號時結(jié)束),而動態(tài)對象的生存期是可控的,要用delete來刪除。</P>
    $ C( H3 e. X6 D) x<P><FONT color=#ff0000>對象的初始化和賦值有什么不同呢?</FONT> 建立一個對象時,對象的狀態(tài)(即數(shù)據(jù)成員的取值)是不確定的,<FONT color=#ff0000>對象的<FONT color=#0000ff>初始化</FONT>就是將對象的狀態(tài)進行確定</FONT>,即對其成員的取值進行確定。我們要讓一個對象一出現(xiàn)(建立)時就要有明確的狀態(tài)。這就是對象的初始化。而<FONT color=#0000ff>賦值</FONT><FONT color=#ff0000>是在對象被建立以后再對其數(shù)據(jù)成員進行賦值</FONT>,如果對象沒有被初始化,那么將有一段時間對象的狀態(tài)是不確定的.</P>
    % ?" O  \  r* U<P>設(shè)計類接口的基本原則:(這些東東在實踐中再深入理解吧)</P>
      N$ Y* f" D. L1 E8 l" Y<P>(1)盡量使類接口即完整又最緊湊(完整緊湊)</P>
    5 n, A! K: V. ^# |6 Z. N& m<P>(2)注意成員函數(shù)、全局函數(shù)和友元函數(shù)的差別(成全友(有)別)</P>
    ; o* H% Z7 u+ q% N<P>(3)在公共接口中不用數(shù)據(jù)成員(公共接口不用數(shù)員)</P>7 b) I0 u0 z8 f% c- b- w& D
    <P>(4)盡量多用const(const多多)</P>
    6 @. m1 ?' Z( z9 ~; J; e1 D4 r<P>(5)通過引用而不是值傳遞和返回對象(通過引用)</P>
    . F. p: ]. N+ ^( n; c& o<P>(6)在返回對象時不要試圖返回引用(返回對象)</P>0 V4 T/ C5 ~; t$ Z& O% ^& z/ N
    <P>(7)慎重選擇函數(shù)重載或參數(shù)缺省</P>
    . s% o1 P" S, a<P>(8)避免對指針和數(shù)值類型重載</P>
    ) `7 V9 O' ?7 ?- G) n; @7 x2 B<P>(9)謹防潛在的兩義性問題。</P>5 _) J. f4 z" K$ G6 ]6 w) K1 B
    <P>(10)明確禁用無端隱含生成的成員函數(shù)</P>3 h6 t: P8 }: ?
    <P>(11)利用結(jié)構(gòu)劃分全局名空間。</P>
    您需要登錄后才可以回帖 登錄 | 注冊

    本版積分規(guī)則

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

    GMT+8, 2025-7-6 16:01

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

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