• <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 閱讀(275) 評論(0)  編輯 收藏 引用 所屬分類: C/C++

            久久免费看黄a级毛片| 国产精品无码久久久久久| 亚洲天堂久久精品| 99久久综合国产精品二区| 久久精品二区| 一本色道久久99一综合| 国产一久久香蕉国产线看观看| 久久精品国产亚洲AV不卡| 久久久久久久91精品免费观看| 热re99久久6国产精品免费| 99久久精品久久久久久清纯| 性欧美大战久久久久久久| 色偷偷久久一区二区三区| 久久无码人妻精品一区二区三区 | 久久人做人爽一区二区三区| 青草国产精品久久久久久 | 国产精品99久久久久久宅男小说| 久久国产色av免费看| 国产成人久久精品麻豆一区| 99久久香蕉国产线看观香| 久久亚洲2019中文字幕| 久久精品中文字幕久久| 亚洲色大成网站WWW久久九九| 精品久久久久久久中文字幕 | 久久偷看各类wc女厕嘘嘘| 色婷婷久久久SWAG精品| 国内精品伊人久久久久网站| 97久久香蕉国产线看观看| 精品综合久久久久久888蜜芽| 亚洲欧洲精品成人久久曰影片| 国产高潮久久免费观看| 精品久久久久久无码专区| 色播久久人人爽人人爽人人片AV| 久久久久99精品成人片牛牛影视| 蜜臀av性久久久久蜜臀aⅴ| 777午夜精品久久av蜜臀| 久久精品免费全国观看国产| 欧美久久综合九色综合| 伊人久久精品影院| 人人妻久久人人澡人人爽人人精品 | 久久久久无码专区亚洲av|