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

    主站蜘蛛池模板: 亚洲精品无码久久久久sm| 免费v片在线观看品善网| 久久综合日韩亚洲精品色| h片在线播放免费高清 | 国产免费久久精品丫丫| 日韩在线免费电影| 久久人午夜亚洲精品无码区| 成人性生交大片免费看午夜a | 噜噜综合亚洲AV中文无码| 四色在线精品免费观看| 亚洲国产日韩a在线播放| 国产精品二区三区免费播放心| 看全免费的一级毛片| 亚洲精品国产高清不卡在线| 一级一级一片免费高清| 久久精品国产69国产精品亚洲| 一区二区免费视频| 亚洲人成电影青青在线播放| 国产美女无遮挡免费视频网站| 一本到卡二卡三卡免费高| 亚洲国产精品一区二区久久hs| 色欲国产麻豆一精品一AV一免费| 4480yy私人影院亚洲| 97无码免费人妻超级碰碰夜夜| 青草久久精品亚洲综合专区| 亚洲男人的天堂www| 久久综合给合久久国产免费| 亚洲av无码一区二区三区天堂古代| 成人性生交视频免费观看| 一道本不卡免费视频| 亚洲精品自产拍在线观看动漫| 91免费国产自产地址入| 国产亚洲综合视频| 亚洲va在线va天堂va四虎| 成年性午夜免费视频网站不卡| 一级黄色免费毛片| 亚洲国产精品成人精品软件| 亚洲av日韩片在线观看| 亚洲视频在线免费播放| 思思久久99热免费精品6| 亚洲高清视频免费|