• <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>

            通關旅

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

            C++體會 -- 類

            Posted on 2008-07-17 17:56 softgamer 閱讀(253) 評論(0)  編輯 收藏 引用 所屬分類: 學習日志
              在這里不說類的概念了,大家都清楚,只是說說關于類的注意事項
              1.類的數據成員不能在類體中聲明時初始化,而還是要用類的構造函數初始化,或者用set 函數賦值
              2.析構函數能不能被重載?不能,因為析構函數不能帶參數,所以不能重載
              3.外部訪問private類成員只能用public類接口通過public成員函數訪問。盡量使所有類的成員保持private
                 實現規范是 1.提供public函數,2.設置private數據成員的值,3.獲得private數據成員的值
              4.提供
            public成員set,get函數是重要的,它可以讓用戶讀寫private成員
              5.重點來了
                 返回對private數據成員的引用,是非常危險的!!!!
                 如

                 #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 : 定義控制臺應用程序的入口點。
                   //

                   #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;
                     }



                     結果是:
                     Day before mod: 21
                     Day after mod: 41 //wrong Day above 31

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

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

            久久精品国产亚洲Aⅴ蜜臀色欲| 久久人人爽人人爽人人片AV不 | 97精品依人久久久大香线蕉97| 久久综合九色综合97_久久久| 性欧美丰满熟妇XXXX性久久久 | 久久亚洲欧美国产精品| 久久婷婷是五月综合色狠狠| 中文字幕无码久久人妻| 香蕉aa三级久久毛片| 亚洲国产成人久久综合碰| 欧美久久亚洲精品| 亚洲精品无码久久毛片| 亚洲精品高清一二区久久| 久久天天躁狠狠躁夜夜不卡 | 亚洲精品综合久久| 久久久久人妻一区二区三区| 99精品国产99久久久久久97| 麻豆亚洲AV永久无码精品久久| 无码AV中文字幕久久专区| 久久99国产综合精品| 999久久久免费国产精品播放| 国产精品狼人久久久久影院| 久久久久久国产精品美女| 久久亚洲精品成人无码网站| 久久亚洲精精品中文字幕| 国产亚洲成人久久| 中文字幕无码久久精品青草 | 99久久99久久| 欧美国产成人久久精品| 色综合久久久久综合体桃花网| 99久久精品国产高清一区二区 | 亚洲级αV无码毛片久久精品| 精品久久久噜噜噜久久久| 色综合久久综精品| 亚洲中文字幕无码久久2017| 精品久久香蕉国产线看观看亚洲| 国产精品免费久久久久久久久| 久久精品极品盛宴观看| 精品午夜久久福利大片| 久久中文字幕人妻丝袜| 久久婷婷国产麻豆91天堂|