摘要: 使用指针的重解释转换可以访问类的私有数据成员。
但在实际应用中,如果你写的类考虑周全,功能完善的话,类的用户没有必要通过这种方式来访问类的私有成员。同时类的用户自己也有对安全的诉求,因此也一般不会通过此种非正常方式来随意访问类的私有成员。
但是,这里又要提到“但是在实际应用中”——你也许无法一次写出一个完全可靠的类,不可避免地会在以后的编码中逐步对类进行不同程度的修改,有时甚至会大刀阔斧地删除多余的成员,增加其他新的成员。这时头文件就会改变,类成员的地址偏移也会发生变化。你需要向其他编码者更新你的头文件,其他文件中如果用到你的这个类,那么这些文件就需要重新编译、连接,很多问题随之而来。
现在我们要做的就是最大可能地隐藏数据成员的细节,只在头文件中展示使用这个类最必要的部分。
阅读全文