using声明的使用。当我尝试用using A::aj;编译器当然是报错的,因为无论什么形式都无法访问直接访问基类的private成员,也就是说,当需要重载而非覆盖基类接口时,我们在public访问域引入声明即可,代码中则是一个对象,同理!即:using声明引入的访问域,遵循当前访问控制约束。
class A
{
public:
A();
~A();
int ai;
private:
int aj;
};
A::A()
{
ai = 1,aj =2;
}
A::~A()
{
}
class B:public A
{
public:
B();
~B();
using A::ai;
void printf()
{
cout<<"------"<<ai;
}
private:
};