使用私有or保护继承时,基类的公有成员将成为私有成员or保护成员,不能像公有继承那样,可以在外部直接使用基类方法。要达到这个目的,有两种方法:
- 定义一个使用该基类方法的派生类方法
- 使用using重新定义访问权限。
使用一个using声明来指出派生类可以使用特定的基类成员,即使采用的是私有派生。
class Student : private string, private valarray<double>
{
...
public:
using valarray<double>::min;
using valarray<double>::max;
...
};
这样,在Student类中能够使用valarray的方法min()和max()。
- 注意:using声明只是用成员名,没有圆括号、函数特征标和返回类型。