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