本文共 488 字,大约阅读时间需要 1 分钟。
class Base{};class Child :private Base //如果是protected也一样。{};
那么 Child c; Base b=c;这是不允许的。Base b=c;的意思是把c中的基类的对象赋值给b,但此时Child中的基类对象是private不能被访问。
如果改成public就可以。
在私有继承中,我知道派生类对象,有什么办法可以访问到其基类的对象么? 当然可以,因为它的内存 在派生类对象里呀。
#include#include using namespace std;class Base{ public: int s; Base():s(1000){}; void test(){cout < << " base" << endl;}};class Child :private Base{};int main(){ Child c; Base *b=reinterpret_cast(&c); //强行转换一下。 b->test(); getchar();}
转载地址:http://fvcci.baihongyu.com/