using重新定义访问权限

来源:互联网 发布:软件开发阶段 英文 编辑:程序博客网 时间:2024/06/05 20:12

使用using重新定义访问权限
(using只适用于继承,而不适用于包含)
class student : private std::string,private std::valarray<double>
{...
  public:
    using std::valarray<double>::min;
    using std::valarray<double>::max;
    ...
};

 


   上述using声明使得valarray<double>::min()和valarray<double>::mam()可用,就像它们是student的共有方法一样。


   将函数调用包装在另一个函数调用中,即使用一个using声明(就像名称空间那样)来指出派生类可以使用特定的基类成员,即使采用的是私有派生。

 

   using声明只使用成员名——没有圆括号、函数特征标和返回类型。

 

例如,为使student类可以使用valarray的operator[]方法,只需在student类声明的公有部分包含下面的using声明:


using student::valarray<double>::operator[];
这将使两个版本(const 和 非const)都可用。