• <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 閱讀(149) 評論(0)  編輯 收藏 引用

            亚洲一区中文字幕久久| 久久香综合精品久久伊人| 伊人久久综在合线亚洲2019| 国产一级做a爰片久久毛片| 九九久久精品国产| 久久人人爽人人爽人人av东京热| 欧洲成人午夜精品无码区久久 | 狠狠色婷婷久久综合频道日韩 | 国产精品久久99| 精品久久久久久久国产潘金莲| 久久综合视频网| 久久精品成人欧美大片| 久久精品无码专区免费青青| 亚洲国产成人精品无码久久久久久综合 | 国产精品热久久无码av| 国产精品久久久久aaaa| 久久久久久A亚洲欧洲AV冫| 狠狠色丁香久久婷婷综合| 久久99国产精品久久久| 久久伊人中文无码| 久久国产精品二国产精品| 久久亚洲精品无码aⅴ大香| 久久96国产精品久久久| 久久人人爽人人爽人人片AV高清 | 久久综合一区二区无码| 久久99久久99精品免视看动漫| 亚洲日韩中文无码久久| 99久久精品费精品国产| 无码人妻精品一区二区三区久久 | 国产精品永久久久久久久久久 | 伊人久久久AV老熟妇色| 国产国产成人久久精品| 亚洲αv久久久噜噜噜噜噜| 久久国产精品偷99| 精品久久久久久亚洲| 一97日本道伊人久久综合影院| 久久久国产精品福利免费| 国产2021久久精品| 久久精品国产精品亚洲毛片| 久久亚洲日韩看片无码| 欧美伊人久久大香线蕉综合69 |