#include<iostream>
using namespace std;
class A
{
public:
int _a;
int b;
A()
{
b = 4;//若是不同名则不屏蔽也不需要通过::访问
_a = 1;
}
void print()
{
cout << this->_a << endl;
}
};
class B :public A
{
public:
int _a;
B()
{
_a = 2;
}
};
int main()
{
B b;
b.print();//1
cout << b._a << endl;//2
//继承的时候,父类子类出现同名的成员变量子类屏蔽父类的。
cout << b.A::_a << endl;//1
cout << b.b << endl;//4
cout << b.A::b << endl;//4可以通过::访问
system("pause");
}
/*
printf是父类的函数,构造完成后,this指针指向的是父类的成员,所以打印父类的_a;
*/
易错题
转载于:https://www.cnblogs.com/readlearn/p/10806563.html