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


      汶上信息港

      標(biāo)題: 設(shè)計中的幾個問題 [打印本頁]

      作者: hbhdgpyz    時間: 2008-9-29 20:17
      標(biāo)題: 設(shè)計中的幾個問題
      <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>/ h. U" z; F8 O8 j6 e
      <P>組織類的典型方法:</P>* Z1 _: ^# J8 t3 N: x
      <P>(1)正確地定義動態(tài)內(nèi)存類的復(fù)制構(gòu)造函數(shù)和賦值運算符。</P>9 _: V2 a+ B% g' H
      <P>(2)宜在構(gòu)造函數(shù)中使用初始化而不要使用賦值。</P>
      , h- W7 G: }5 ^+ A3 H( t( p<P>(3)初始化表的成員應(yīng)按它們在說明時出現(xiàn)的順序列出。</P>$ z5 ^1 _: U& J$ k+ l1 y: r& M7 J
      <P>(4)把基灶的析構(gòu)函數(shù)用作虛函數(shù)</P>! v# Z# q1 E7 z& D7 f
      <P>(5)讓"operator="返回對*this的引用。</P>
      " i' K- k" L+ w8 w8 U# c1 _4 y<P>(6)正確對"operator="中所有數(shù)據(jù)成員的賦值。</P>
      : |9 b! o  ?/ R# R# _6 E) X  I; i3 M<P>(7)注意檢查對"operator="中自身賦值問題。</P>
      / O  ^" l) g3 J, A. U3 d6 u1 d<P><FONT color=#ff0000>怎樣建立和刪除對象</FONT>?可以通過對象名直接建立對象,也可以用對象指針以及new和構(gòu)造函數(shù)一同作用建立動態(tài)對象。直接建立的對象在生存期結(jié)束時自動消失(對象的生存期在遇到右括號時結(jié)束),而動態(tài)對象的生存期是可控的,要用delete來刪除。</P>2 w0 g6 k: \, T2 [' P
      <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>, f9 H1 t; d8 T. i/ a; B
      <P>設(shè)計類接口的基本原則:(這些東東在實踐中再深入理解吧)</P>) a7 O' m' ?. W2 v  C* \9 S7 f: k/ N# y$ t
      <P>(1)盡量使類接口即完整又最緊湊(完整緊湊)</P>
      . S5 y- d& H1 {3 Q; v<P>(2)注意成員函數(shù)、全局函數(shù)和友元函數(shù)的差別(成全友(有)別)</P>
        l0 H8 q9 Y. I# ^8 y, o* [. o<P>(3)在公共接口中不用數(shù)據(jù)成員(公共接口不用數(shù)員)</P>
      & s8 y2 B9 ]2 {<P>(4)盡量多用const(const多多)</P>8 p% J4 s0 M, h9 K; B4 o7 ]
      <P>(5)通過引用而不是值傳遞和返回對象(通過引用)</P>& X8 q( c* T) c
      <P>(6)在返回對象時不要試圖返回引用(返回對象)</P>+ I9 A( A" j; Y6 v, `" M
      <P>(7)慎重選擇函數(shù)重載或參數(shù)缺省</P>
      * ]9 p' E  ]5 p) T<P>(8)避免對指針和數(shù)值類型重載</P>0 k) L- b1 n; h3 j3 n5 \2 r8 o: o8 E
      <P>(9)謹防潛在的兩義性問題。</P>% j: D5 F# p% e, k- b
      <P>(10)明確禁用無端隱含生成的成員函數(shù)</P>; F( f1 X1 x* G0 k
      <P>(11)利用結(jié)構(gòu)劃分全局名空間。</P>




      歡迎光臨 汶上信息港 (http://yh18.cn/) Powered by Discuz! X3.5