实例:
#include <iostream>
using namespace std;
class parent
{
public:
void print(void)
{
cout << "parent a=:"<<a<< endl;
}
public:
int a;
private:
int b;
protected:
int d;
};
class child3 : public parent
{
public:
int a;
int b;
int d;
void print(void)
{
cout << " child3 a=:" << a << endl;
}
private:
int c;
protected:
};
int main()
{
child3 oop;
oop.a = 10;
oop.parent::a = 100;
oop.print();
oop.parent::print();
system("pause");
return 0;
}
结论:
1 当派生类成员变量和基类成员变量同名时,子类成员变量依然从基类集成同名成员变量。
2 在子类中同伙作用于解析符::进行同名成员区分(在派生类中使用基类同名成员,显示地使用同名限定符)
如上例,子类a与基类的a同名,在主函数中调用时直接用::进行解析,默认情况下:对象.a是子类的a.