而我的代码是印发错误的为什麼?
把一个成员声明为私有的目的就是不让你在子类中用要是像题主这样强制类型转换之后就可以用的话还要
这个访问说明符干嘛,只留
如果你想重载(overload)父类的函数可以修改两行:
如果基类不是很复杂的话,还是有办法搞定的
声明一个与基类几乎一样的结构体或类,如果是类的话把所有的权限都声明成public的,然后将原对象指针强制转型成你声明的新类就成了
新的结构体实现以下几点:
1.需要声明原基类中从第一个到你需要访问的成员变量。比如原基类中有5个变量你需要访问的是第3个,那结构体就声明前3个就成
2.如果原基类有其它基類那结构体也从它们派生就是了
3.如果基类中有虚函数,结构体加上一个带virtual的析构函数
4.对齐方式要与基类相同
按照这个方式,基本上就嘟能搞定了
不要说什么破坏封装性的话原罪在基类的设计者考虑不周到