類的繼承中同名成員問題

當在繼承類中,子類和父類包含同一個成員,這時候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.

運行結果如下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章