![]() |
#2
rjsp2017-03-12 01:53
|
是因为基类私有数据成员对派生类对象不可见么?那为什么没有编译错误?

#include <iostream>
#include <stdio.h>
using namespace std;
class A {
public:
A() = default;
A(int);
int getAprivatedData() const;
private:
int privatedAData;
};
A::A(int a) :
privatedAData(a) { }
int A::getAprivatedData() const {//获取该类的公有数据
return privatedAData;
}
class B : public A {
public:
B() = default;
B(int);
private:
int privatedBData;
};
B::B(int a ) :
privatedBData(a) { }
int main()
{
A a(1);
B b(4);
cout << a.getAprivatedData() << endl;
cout << b.getAprivatedData() << endl;
return 0;
}