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

            鍵盤上的舞者

            My Email: marckywu@gmail.com
            隨筆 - 19, 文章 - 0, 評論 - 3, 引用 - 0
            數據加載中……

            顯示構造函數與轉換運算符的合作

            在設計一個Date類的時候,我們使用int類型來表示年份,如果我們需要對年份進行一些特殊的操作(如:檢查,保護等),就很需要定義一個Year類,如下:
            class Year {
                
            int m_y;
            public:
            //explicit限制int到Year的隱式轉換
                explicit Year(int y)
                    : y(m_y) { }
            //Year到int的類型轉換   
                operator int() const 
                    { 
            return m_y; }
                
            //other funtion
            }


            class Date {
            public :
                Date(
            int d, Month m, Year y);
                
            //
            };

            Date d1(
            1987, feb, 21);   //error, 21不能隱式轉換為Year
            Date d2(21, feb, Year(1987)); //ok



            在這里Year就只是包裹住了int,對int提供一層保護而已。由于operator int()的存在,只要需要,Year可以隱式的轉化為int出現運算表達式中參加運算。而通過給構造函數聲明為explicit,就能夠保證,int到Year的轉化只能在明確無誤的情況進行,避免了意外的賦值。

            顯示構造函數和轉換運算符的合作,讓Year可以當int使用,同時又對Year進行一定的保護。。。


            posted on 2009-08-13 14:39 Marcky 閱讀(290) 評論(0)  編輯 收藏 引用 所屬分類: C/C++

            午夜肉伦伦影院久久精品免费看国产一区二区三区 | 麻豆久久| 精品久久人人爽天天玩人人妻| 99久久伊人精品综合观看| 国产精品久久久久AV福利动漫| 精品国产乱码久久久久久郑州公司| 久久ww精品w免费人成| 99久久成人国产精品免费| 久久精品成人免费看| 国产精品无码久久久久| 午夜精品久久久久久| 亚洲欧洲日产国码无码久久99| 欧美午夜精品久久久久免费视 | 久久国产精品一国产精品金尊| 久久无码人妻一区二区三区| 色综合久久最新中文字幕| 欧美日韩成人精品久久久免费看 | 久久99精品国产自在现线小黄鸭 | 伊人久久大香线蕉亚洲五月天| 久久精品九九亚洲精品| 岛国搬运www久久| 久久亚洲国产精品成人AV秋霞| 99久久综合狠狠综合久久止| 久久综合久久性久99毛片| 久久人人爽人人爽人人AV | 国产一级持黄大片99久久| 国产精品久久久久久久久软件| 久久综合久久综合久久综合| 久久久久高潮综合影院| 精品久久久久久久久久久久久久久| 亚洲乱码日产精品a级毛片久久| 国产精品一区二区久久国产| 久久这里的只有是精品23| 国产99久久久久久免费看| 久久久久人妻精品一区二区三区| 久久久久亚洲AV无码专区网站| 人妻精品久久无码区| 色综合久久夜色精品国产| 久久无码一区二区三区少妇 | 国产91久久综合| 久久国产高清字幕中文|