1.当子类与父类出现同名的成员时
- 访问子类的同名成员,直接访问
- 访问父类的同名成员,需要加作用域
- 子类与父类拥有同名的成员函数的时候,子类会隐藏父类的成员函数,需要加上作用域访问父类的同名函数
2.当同名的成员是静态成员的时候
#include <iostream>
using namespace std;
class Base
{
public:
static int m_a;
};
int Base::m_a = 200;
class Son :public Base
{
public:
static int m_a;
};
int Son::m_a = 100;
void test1()
{
Son s;
cout << "m_a = " << s.m_a << endl; //这里的静态成员不是继承下来的,而是派生类Y与基类共享
cout << Son::Base::m_a << endl;
}
int main()
{
test1();
return 0;
}