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

    主站蜘蛛池模板: 亚洲精品亚洲人成人网| 国产极品粉嫩泬免费观看| 五月天网站亚洲小说| 97在线视频免费公开视频| 日韩精品亚洲aⅴ在线影院| 一级全免费视频播放| 亚洲一区二区精品视频| 国产日韩AV免费无码一区二区三区| AV在线亚洲男人的天堂| 国产免费久久精品99久久| 亚洲人成人无码网www电影首页| 韩国免费a级作爱片无码| 亚洲AV无码一区东京热久久| 久别的草原电视剧免费观看| 亚洲狠狠狠一区二区三区| 久久天天躁狠狠躁夜夜免费观看| 亚洲欧美中文日韩视频| 国产精品va无码免费麻豆| 十八禁的黄污污免费网站| 亚洲国产精品无码专区| 51视频精品全部免费最新| 涩涩色中文综合亚洲| 亚洲国产成人爱av在线播放| 人妻在线日韩免费视频| 久久精品国产亚洲AV嫖农村妇女| 91视频国产免费| 一级毛片aaaaaa视频免费看| 97久久精品亚洲中文字幕无码 | 国产精品玖玖美女张开腿让男人桶爽免费看 | 亚洲大成色www永久网址| 国产高清免费观看| 成年免费a级毛片免费看无码| 亚洲视频在线免费看| 国产精品久久免费视频| 免费精品99久久国产综合精品| 亚洲乱码卡三乱码新区| 亚洲精品A在线观看| 在线美女免费观看网站h| 精品一区二区三区无码免费直播| 久久香蕉国产线看观看亚洲片| 最新仑乱免费视频|