继承中同名成员的处理方式
问题:当子类与父类出现同名的成员,如何通过子类对象,访问到子类或父类的同名的数据呢?
- 访问子类同名的成员变量或成员函数,直接访问即可;
- 访问父类同名的成员变量或成员函数,需要加作用域;
这里注意一点的是:
如果子类中出现和父类同名的成员函数,子类的同名成员函数会隐藏掉父类中所有的同名成员函数,即使是函数重载也不行!想访问父类的同名函数就必须得加作用域。
静态成员访问方式和非静态一样,不同之处是静态成员还有一种访问方式:类名::静态成员名称(不同之处是访问子类:son :: func() ,访问父类:son::Base::func())。
这里是因为静态成员存放在全局区,可以通过类名可以访问倒,而非静态是存放在栈区上,运行完就释放掉了