西安 餐饮 网站建设,永春县住房和城乡建设网站,小说网站的会员充值是怎么做的,支付宝签约网站问题#xff1a;当子类与父类出现同名的成员#xff0c;如何通过子类对象#xff0c;访问到子类或父类中同名的数据呢#xff1f;
1.访问子类同名成员 直接访问即可 2.访问父类同名成员 需要加作用域 一、同名成员属性处理方式 代码如下#xff1a;
#include iostre…问题当子类与父类出现同名的成员如何通过子类对象访问到子类或父类中同名的数据呢
1.访问子类同名成员 直接访问即可 2.访问父类同名成员 需要加作用域 一、同名成员属性处理方式 代码如下
#include iostream
using namespace std;class Base {public:Base() {m_A 100;}int m_A;
};class Son : public Base {public:Son() {m_A 200;}int m_A;
};void test01() {Son s;cout Son 下 m_A s.m_A endl;//如果通过子类对象 访问到父类中的同名成员 需要加作用域cout Base 下 m_A s.Base::m_A endl;}int main() {test01();return 0;
}二、同名成员函数处理方式 代码如下
#include iostream
using namespace std;class Base {public:Base() {m_A 100;}void func() {cout Base fun()调用 endl;}void func(int a) {cout Base fun(int a)调用 endl;}int m_A;
};class Son : public Base {public:Son() {m_A 200;}void func() {cout Son fun()调用 endl;}int m_A;
};void test01() {Son s;s.func();//直接调用 调用是子类中的同名成员//如何调用父类中同名成员函数s.Base::func();s.Base::func(100);}int main() {test01();return 0;
}注意 1.如果子类中出现和父类同名的成员函数子类的同名成员会隐藏掉父类中所有同名成员 2.如果需要访问到父类中被隐藏的同名成员函数需要加作用域