#include<iostream>
using namespace std;
class Base
{
public:
int m_A = 100;
void func()
{
cout << "Base - func()调用" << endl;
}
void func(int a)
{
cout << "Base - func(int a)调用" << endl;
}
};
class Son : public Base
{
public:
int m_A = 200;
void func()
{
cout << "Son - func()调用" << endl;
}
};
int main() {
Son s;
cout << "Son下的m_A = " << s.m_A << endl;//同名属性调用子类中的
cout << "Base下的m_A = " << s.Base::m_A << endl;//要想调用父类中的同名属性需要加上作用域::
s.func();//同名函数调用子类中的
s.Base::func();//要想调用父类中的同名函数需要加上作用域::
s.Base::func(20);//s.func(20);是错误的。编译器隐藏父类所有同名函数
}
结果: