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; }
};