考虑下面的示例代码:
#include <iostream>
using namespace std;
class A
{
private:
static int a;
int b;
protected:
public:
A() : b(0) {}
void modify()
{
a++;
b++;
}
void display()
{
cout << a <<"\n";
cout << b <<"\n";
}
};
int A::a=0;
class B : public A {
private:
int b;
public:
B(): b(5)
{
}
};
int main()
{
A ob1;
B ob2;
ob1.display();
ob2.display();
return 0;
}
在上面的代码中,class A有一个私有数据成员b,class B也有一个私有数据成员b。该函数display()用于显示数据成员。当我使用 调用 display()时, display() 访问类 Aob1.display()的私有数据成员。我明白这一点。b但是当我调用 display usingob2.display时,bdisplay() 访问哪个?是bA级的还是bB级的?请解释为什么它访问class A's b或class B's b