类的继承中同名成员问题

当在继承类中,子类和父类包含同一个成员,这时候ying应该如何调用?

代码如下:

#include <iostream>

using namespace std;

class A
{
public:
	int m_a;
	int m_b;
};

class B:public A
{
public:
	int m_b;
	int m_c;
};

int main()
{
	B b;
	cout<<sizeof(b)<<endl;
	cout<<&b<<endl;
	cout<<&b.m_a<<endl;
	cout<<&b.A::m_b<<endl;
	cout<<&b.m_b<<endl;
	cout<<&b.m_c<<endl;
	
	return 0;
}

其中,b.m_b;默认访问的是自己的,也就是B类中的成员m_b;

b.A::m_b才是访问的父类A中的成员m_b.

运行结果如下:

猜你喜欢

转载自blog.csdn.net/ShiHongYu_/article/details/81263702