【发布时间】:2012-12-01 00:31:21
【问题描述】:
信息隐藏的原理是什么,C++是如何支持的。 C++ 也允许我违反信息隐藏吗?
【问题讨论】:
信息隐藏的原理是什么,C++是如何支持的。 C++ 也允许我违反信息隐藏吗?
【问题讨论】:
它通过在类声明中允许private: 和protected: 部分来支持信息隐藏。
一种“支持”的违反它的方法是通过 friend 关键字,它允许外部函数或类访问一个类的 private 和 protected 成员(尽管如果这实际上是一种“违反”是值得商榷的) )。
此外,在 C++ 程序中,没有运行时强制执行可见性规则,因此,如果您设法获得指向内部字段的指针或指向内部方法的函数指针,则没有什么能阻止您使用它(同样,这可能是故意的 - 类本身给了你那个指针 - 或“滥用” - 你有一个指向对象本身的指针并添加一些偏移量以获取内部成员)。
【讨论】:
是隐藏显示程序如何发挥功能的细节的过程,以避免公共用户访问这些功能细节,因此它是私人和受保护的行为。
【讨论】: