• <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>
            隨筆 - 51, 文章 - 1, 評論 - 41, 引用 - 0
            數據加載中……

            工藝——使用輔助類表示構建函數的參數

            場景:類的配置數據多并且形式多變,這樣構造函數的樣式就會膨脹。由于配置數據不需要修改,因此也不適合采用先創建再添加修改的方式,此外這個方式分成多步,缺失連貫性。

            方法:使用一個輔助類,用于構建多樣的參數。其數據添加函數可返回自身引用,用于連續添加數據。然后將輔助類作為主類的構造函數的參數。如

            class BigClass {
            public:
                class Param {
                friend class BigClass;
                public:
                    Param() {}
                    Param& Add(int d) {
                        m_Data.push_back(d);
                        return *this;
                    };
                    Param& Add(const char* s) {
                        m_Data.push_back(atoi(s));
                        return *this;
                    }
                protected:
                    std::vector<int> m_Data;
                };
            public:
                BigClass(const Param& p) : m_Data(p.m_Data) { }
            protected:
                std::vector<int> m_Data;
            };

            int main()
            {
                BigClass bc(BigClass::Param().Add(1).Add("12").Add(3));
                return 0;
            };

            posted on 2014-12-26 21:21 lemene 閱讀(151) 評論(0)  編輯 收藏 引用

            亚洲精品久久久www| 欧美激情精品久久久久久| 久久久久久综合网天天| 久久精品一区二区三区中文字幕| 亚洲va久久久久| 久久99亚洲综合精品首页| 狠狠狠色丁香婷婷综合久久五月| 久久最新免费视频| 亚洲国产成人久久一区久久| 久久久精品国产Sm最大网站| 久久精品免费一区二区三区| 亚洲精品美女久久777777| 精品久久久久久久无码| 一本久久免费视频| 国内精品九九久久久精品| 国产成人精品久久免费动漫| 久久久九九有精品国产| 久久er国产精品免费观看8| 亚洲欧洲精品成人久久曰影片| 亚洲人AV永久一区二区三区久久| 欧美精品福利视频一区二区三区久久久精品 | 久久久久国产一区二区三区| 一本色道久久综合狠狠躁篇| 久久频这里精品99香蕉久| 久久AV高清无码| 久久人人爽人人澡人人高潮AV | 婷婷久久精品国产| 久久综合久久久| 国产麻豆精品久久一二三| 狠狠色丁香久久婷婷综合五月| 精品久久人人爽天天玩人人妻| 国产欧美久久久精品影院| 国产精品综合久久第一页| 久久久久久噜噜精品免费直播 | 99久久精品国产毛片| 久久久久免费看成人影片| 亚洲精品无码久久不卡| 99久久久精品免费观看国产 | 精品久久久久久亚洲精品 | 亚洲色婷婷综合久久| 国产精品美女久久久久|