#include <iostream>
using namespace std;
// Base class
class Base {
private:
int a = 10;
public: void get () {
cout <<"Get:"<< a <<endl;
}
};
// Derived class
class Child: public Base {
};
int main() {
Child Childobj;
Child Childobj.get();
return 0;
}
#include <iostream>
using namespace std;
// Base class
class Base {
private:
int a = 10;
public: void get () {
cout <<"Get:"<< a <<endl;
}
};
// Derived class
class Child: public Base {
};
int main() {
Child Childobj;
Child Childobj.get();
return 0;
}
我知道
Base
类的私有成员不能被继承,但我在公共int a;
方法的帮助下访问了私有成员get()
。
我的问题是:
Base
类的私有成员是否正在为子对象共享内存,或者子对象只有权限从Base
类访问?Base
类的 protected 和 public 成员是否共享子对象的内存?
我的困惑:我的困惑是,我不确定在从
Base
类访问私有和受保护成员时,是否从对象的内存中访问和显示数据成员,以便我知道子对象的当前状态Child
类对象是什么时候创建的?非常感谢!
我可能是错的,但我认为子对象有权访问私有成员,因为私有成员是非静态类型,所以它不与子对象实例共享相同的内存。