<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    so true

    心懷未來,開創未來!
    隨筆 - 160, 文章 - 0, 評論 - 40, 引用 - 0
    數據加載中……

    C++ implements final keyword

    #include <iostream>
    #include <string>
    #include <vector>
    #include <map>
    #include <set>
    using namespace std;
    //part 1
    class A {
    private:
        A() {};
    public:
        static A* GetInstance() {
            return new A();
        }
    };
    //part 2
    class A {
        friend class B;
    private:
        A() {};
    };
    class B: public A {
    };
    //part 3
    class A {
        friend class B;
    private:
        A() {};
    };
    class B: virtual public A {
    };
    //part 4: 奇異遞歸模板模式(curiously recurring template pattern,CRTP)
    template <typename T>
    class A {
        friend T;
    private:
        A() {};
    };
    class B: virtual public A<B> {
    };
    //part 4.2:
    //這種技術獲得了類似于虛函數的效果,并避免了動態多態的代價。也有人把CRTP稱為“模擬的動態綁定”
    template <typename T>
    struct counter
    {
        static int objects_created;
        static int objects_alive;
        counter()
        {
            ++objects_created;
            ++objects_alive;
        }
        
        counter(const counter&)
        {
            ++objects_created;
            ++objects_alive;
        }
    protected:
        ~counter() // objects should never be removed through pointers of this type
        {
            --objects_alive;
        }
    };
    template <typename T> int counter<T>::objects_created( 0 );
    template <typename T> int counter<T>::objects_alive( 0 );
    class X : counter<X>
    {
        ...
    };
        
    class Y : counter<Y>
    {
         ...
    };
    //part 5
    class A {
    protected:
        A() {};
    };
    class B: virtual A {
    };
    //part 6
    class B final {
    };
    //validate
    class C: public B {
    };
    int main(int argc, char* argv[]) {
        B b;
        C c;
        return 0;
    }

    posted on 2017-07-17 19:31 so true 閱讀(177) 評論(0)  編輯  收藏 所屬分類: C&C++

    主站蜘蛛池模板: 成人免费无码大片A毛片抽搐色欲| 久久er国产精品免费观看2| 91精品成人免费国产片| 久久综合日韩亚洲精品色| 国产精品hd免费观看| 亚洲国产一区二区视频网站| 羞羞漫画小舞被黄漫免费| 免费无码黄网站在线观看| 亚洲欧洲av综合色无码| 免费网站看v片在线香蕉| 亚洲av无码一区二区三区天堂 | 国产亚洲精品a在线观看| 免费国产黄网站在线观看可以下载| 亚洲人成国产精品无码| 一级特黄色毛片免费看| 亚洲国产成人久久笫一页| xvideos永久免费入口| 亚洲人色婷婷成人网站在线观看| 免费无码又爽又刺激网站| 亚洲视频在线免费观看| 57PAO成人国产永久免费视频| 亚洲性无码AV中文字幕| 午夜亚洲国产成人不卡在线| 三级黄色片免费看| 亚洲欧洲日本国产| 国产一级大片免费看| 中国一级全黄的免费观看| 亚洲性69影院在线观看| 国产免费变态视频网址网站| 九九全国免费视频| 久久精品国产亚洲77777| 毛片高清视频在线看免费观看| 高潮毛片无遮挡高清免费 | 69国产精品视频免费| 亚洲日本久久久午夜精品| 亚洲欧洲精品成人久久曰影片 | 亚洲精品无码永久在线观看男男| 亚洲福利精品电影在线观看| 18禁在线无遮挡免费观看网站| 久久狠狠爱亚洲综合影院| 亚洲欧洲自拍拍偷精品 美利坚|