• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            通關(guān)旅

            softgamer的痕跡
            posts - 16, comments - 13, trackbacks - 0, articles - 0

            C++體會(huì) -- 類(lèi)

            Posted on 2008-07-17 17:56 softgamer 閱讀(262) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 學(xué)習(xí)日志
              在這里不說(shuō)類(lèi)的概念了,大家都清楚,只是說(shuō)說(shuō)關(guān)于類(lèi)的注意事項(xiàng)
              1.類(lèi)的數(shù)據(jù)成員不能在類(lèi)體中聲明時(shí)初始化,而還是要用類(lèi)的構(gòu)造函數(shù)初始化,或者用set 函數(shù)賦值
              2.析構(gòu)函數(shù)能不能被重載?不能,因?yàn)槲鰳?gòu)函數(shù)不能帶參數(shù),所以不能重載
              3.外部訪問(wèn)private類(lèi)成員只能用public類(lèi)接口通過(guò)public成員函數(shù)訪問(wèn)。盡量使所有類(lèi)的成員保持private
                 實(shí)現(xiàn)規(guī)范是 1.提供public函數(shù),2.設(shè)置private數(shù)據(jù)成員的值,3.獲得private數(shù)據(jù)成員的值
              4.提供
            public成員set,get函數(shù)是重要的,它可以讓用戶讀寫(xiě)private成員
              5.重點(diǎn)來(lái)了
                 返回對(duì)private數(shù)據(jù)成員的引用,是非常危險(xiǎn)的!!!!
                 如

                 #pragma once

                 class CDay
                 {
                     public:
                             CDay( int );
                             virtual ~CDay(void);
                             void setDay( int day );
                             int  getDay();
                             int  &badsetDay( int day ); // DANGEROUS
                     private:
               
                             int  Day;
                  };

                  #include "StdAfx.h"
                  #include "Day.h"

                   CDay::CDay( int day )
                   {
                      setDay( day );
                   }

                   CDay::~CDay(void)
                   {
                   }
                   void CDay::setDay( int day )
                   {
                          Day = day;
                   }
                   int CDay::getDay()
                  {
                     return Day;
                  }

                  //Returning a ref to private data member
                  int &CDay::badsetDay( int day )
                  {
                    Day = ( day >= 0 && day < 31 )?day:0;

                     return Day;
                  }

                   // test1.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。
                   //

                   #include "iostream"

                    using namespace std;
                    using namespace std;
                  
                    #include "Day.h"
                    int _tmain(int argc, _TCHAR* argv[])
                   {
                         CDay c( 11 );
               
                         int &Dayref = c.badsetDay( 21 );

                         cout << "\n Day before mod: " << Dayref;
               
                         Dayref = 41; // modied //Dangerous Function call

               
                         cout << "\n Day after mod: " << c.getDay();

                          //Dangerous Function call
                          //a ref can be used as an lvalue

                          c.badsetDay( 12 ) = 74;

                          cout << "\n\n***************************\n"
                                  << "badsetDay as an lvalue Day:"
                                  << c.getDay()
                                  << "\n*******************************\n" << endl;
               
                           return 0;
                     }



                     結(jié)果是:
                     Day before mod: 21
                     Day after mod: 41 //wrong Day above 31

                     ***************************
                     badsetDay as an lvalue Day:74 //wrong Day above 31

                     *******************************
                
             

            国产精品久久久久jk制服| 99久久免费国产精品热| 亚洲国产精品综合久久一线 | 人妻无码αv中文字幕久久琪琪布| 香蕉久久夜色精品国产2020| 色综合久久久久无码专区| 国产亚洲美女精品久久久| 亚洲AV无码成人网站久久精品大| 51久久夜色精品国产| 久久久国产精华液| 国产成人无码精品久久久久免费 | 久久se精品一区精品二区| 亚洲一区精品伊人久久伊人| 久久久国产精品福利免费| 麻豆成人久久精品二区三区免费| 久久久精品无码专区不卡| 久久久久夜夜夜精品国产| 久久精品国产亚洲av水果派| 久久99国产精品久久99小说| 国产精品成人久久久久三级午夜电影 | 精品久久亚洲中文无码| 91亚洲国产成人久久精品| 99久久精品午夜一区二区| 亚洲级αV无码毛片久久精品| 欧美一级久久久久久久大片| 国产精品美女久久久免费| 久久精品国产精品国产精品污| 久久精品无码午夜福利理论片| 久久久无码精品亚洲日韩蜜臀浪潮| 久久免费香蕉视频| 人妻无码久久精品| 日本亚洲色大成网站WWW久久 | 亚洲第一永久AV网站久久精品男人的天堂AV| 99久久精品费精品国产一区二区| 人人狠狠综合久久88成人| 久久99精品久久久久久久久久| 7777久久亚洲中文字幕| 久久99精品国产麻豆宅宅| 亚洲国产二区三区久久| 久久久久亚洲精品中文字幕| 亚洲精品99久久久久中文字幕 |