扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
class ClxECS { private: int iPrivate; }; |
那么下面的这个函数是不能通过编译的:
void ECS_test() cout << lx.iPrivate << endl; |
但是,我们并不是没有办法来访问类的私有成员。
其实,方法很简单,只要在类的声明前面加上如下一行代码就行了:
#define private public |
同样的,这个方法对保护成员也适用:
#define protected public |
但是,这是一个非正规的手段,它将破坏类的所有封装性。而C++中的#define的存在也是为了跟C兼容。所以只有在非常特殊的情况下,才会用这种非正规方法访问类的私有或保护成员。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者