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

  • <object id="nlumt"><tt id="nlumt"><pre id="nlumt"></pre></tt></object>
    <legend id="nlumt"><mark id="nlumt"></mark></legend>
    <pre id="nlumt"><tt id="nlumt"><rt id="nlumt"></rt></tt></pre>

    <bdo id="nlumt"><delect id="nlumt"></delect></bdo>

       找回密碼
       注冊

      QQ登錄

      只需一步,快速開始

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

      [復(fù)制鏈接]
      1#
      發(fā)表于 2008-9-29 20:17:40 | 只看該作者 |倒序?yàn)g覽 |閱讀模式
      <P>C++編譯器會使原來編輯的一個(gè)空類變成一個(gè)非空的類,因?yàn)樗鼤?lt;FONT color=#ff0000>自動(dòng)增加</FONT>并調(diào)用以下一些函數(shù):一個(gè)<FONT color=#0000ff>復(fù)制構(gòu)造函數(shù)</FONT>、一個(gè)<FONT color=#0000ff>賦值算法符</FONT>及一對<FONT color=#0000ff>運(yùn)算符地址</FONT>,如果沒有說明構(gòu)造函數(shù)的話,它也會編制一個(gè)<FONT color=#0000ff>缺省的構(gòu)造函數(shù)</FONT>。這些函數(shù)都是公有函數(shù)。如果類是從其它類<FONT color=#ff0000>派生</FONT>的,而且這個(gè)其他類又有一個(gè)析構(gòu)函數(shù),則C++也會為這個(gè)類增加<FONT color=#0000ff>一個(gè)析構(gòu)函數(shù)</FONT>。</P>
      $ ^9 K4 Z* E/ O) F- H& }<P>組織類的典型方法:</P>
      5 P4 T# m2 |( Q6 E<P>(1)正確地定義動(dòng)態(tài)內(nèi)存類的復(fù)制構(gòu)造函數(shù)和賦值運(yùn)算符。</P>
      0 S3 ?# ~2 F- Q5 a) E<P>(2)宜在構(gòu)造函數(shù)中使用初始化而不要使用賦值。</P>
      3 a- C3 D5 u# p( s) g9 r<P>(3)初始化表的成員應(yīng)按它們在說明時(shí)出現(xiàn)的順序列出。</P>
      $ O! s& x) x4 P<P>(4)把基灶的析構(gòu)函數(shù)用作虛函數(shù)</P>& r2 O1 E! b, V/ c2 E# b
      <P>(5)讓"operator="返回對*this的引用。</P>
      & Z7 I  ]: l! i! t<P>(6)正確對"operator="中所有數(shù)據(jù)成員的賦值。</P>: F8 N+ Q- H2 ~5 q7 B. B# [
      <P>(7)注意檢查對"operator="中自身賦值問題。</P>
      : Q& v+ R5 Z9 u1 [% H& S1 M<P><FONT color=#ff0000>怎樣建立和刪除對象</FONT>?可以通過對象名直接建立對象,也可以用對象指針以及new和構(gòu)造函數(shù)一同作用建立動(dòng)態(tài)對象。直接建立的對象在生存期結(jié)束時(shí)自動(dòng)消失(對象的生存期在遇到右括號時(shí)結(jié)束),而動(dòng)態(tài)對象的生存期是可控的,要用delete來刪除。</P>
      ; E" d  M9 y# H4 W, N: w5 c<P><FONT color=#ff0000>對象的初始化和賦值有什么不同呢?</FONT> 建立一個(gè)對象時(shí),對象的狀態(tài)(即數(shù)據(jù)成員的取值)是不確定的,<FONT color=#ff0000>對象的<FONT color=#0000ff>初始化</FONT>就是將對象的狀態(tài)進(jìn)行確定</FONT>,即對其成員的取值進(jìn)行確定。我們要讓一個(gè)對象一出現(xiàn)(建立)時(shí)就要有明確的狀態(tài)。這就是對象的初始化。而<FONT color=#0000ff>賦值</FONT><FONT color=#ff0000>是在對象被建立以后再對其數(shù)據(jù)成員進(jìn)行賦值</FONT>,如果對象沒有被初始化,那么將有一段時(shí)間對象的狀態(tài)是不確定的.</P>8 a! d4 @6 A. p/ V+ q
      <P>設(shè)計(jì)類接口的基本原則:(這些東東在實(shí)踐中再深入理解吧)</P>8 j5 W# u3 [* n4 n1 Q% M7 z
      <P>(1)盡量使類接口即完整又最緊湊(完整緊湊)</P>
        Y+ s  M1 R  N7 y! M<P>(2)注意成員函數(shù)、全局函數(shù)和友元函數(shù)的差別(成全友(有)別)</P>/ k2 N/ S! T# H' o- ]/ |; t
      <P>(3)在公共接口中不用數(shù)據(jù)成員(公共接口不用數(shù)員)</P>( E  J$ L  Q  H( F8 Q
      <P>(4)盡量多用const(const多多)</P>
      ( X" C' K4 s% Z: O+ J2 `5 ~% d<P>(5)通過引用而不是值傳遞和返回對象(通過引用)</P>
      1 F  e/ Q$ `; B- |. ~* o# ]/ X<P>(6)在返回對象時(shí)不要試圖返回引用(返回對象)</P>
      ' s, @8 b2 A! D1 I# D8 A- @1 ~, u<P>(7)慎重選擇函數(shù)重載或參數(shù)缺省</P>
      0 O4 t: u) l5 V- F<P>(8)避免對指針和數(shù)值類型重載</P>; ~& P. P, Y  P9 }/ W  W
      <P>(9)謹(jǐn)防潛在的兩義性問題。</P>6 x; E) x: L5 ^$ b+ m7 s- _
      <P>(10)明確禁用無端隱含生成的成員函數(shù)</P>
      - K* I( q! H* ?2 h8 S<P>(11)利用結(jié)構(gòu)劃分全局名空間。</P>
      您需要登錄后才可以回帖 登錄 | 注冊

      本版積分規(guī)則

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

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

      Powered by Discuz! X3.5

      © 2001-2025 Discuz! Team.

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