C++基礎(using)

using :

1.在當前文件中引入命名空間

    using namespace std;

2.在子類中使用 using 聲明引入基類成員名稱(參見C++ primer

    具體作用體現:

    (1).解除因繼承導致的成員保護或私有化限制,將基類成員引入到派生類的相應訪問控制區域內,便可按照相應規則訪問該基成員;

    class Base {
    private:
        std::size_t size()
const { return n; }
    protected:
        std::size_t n;
    };
    class Derive : private Base {

    public:
        
using
Base: size;            //用戶和類內訪問
    protected:
        
using
Base:n;                //類內訪問
    };

    (1).派生類欲重載基類成員(正常情況下,基類函數會被重寫,如果派生類需要重載需要爲每個派生類重寫基類函數);

    class Base {
    public:
        std::size_t size()
const { return 1; }

        std::size_t size(int n) const { return n; }
    };
    class Derive : public Base {

    public:

        using Base:size;                    //獲得基類所有此函數的重載版本
        std::size_t size(float n)
const { return n; }            
    };

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章