信息隐藏的原理是什么以及C ++如何支持它。 C ++也允许我违反信息隐藏吗?
答案 0 :(得分:2)
它通过在类声明中允许private:
和protected:
部分来支持信息隐藏。
违反该行为的“支持”方式是通过friend
关键字,允许外部函数或类访问类的private
和protected
成员(尽管如果它有争议,这实际上是“违规”)。
此外,在C ++程序中,没有运行时强制执行可见性规则,因此如果您设法获取指向内部字段的指针或指向内部方法的函数指针,则不会阻止您使用它(同样,这可能是故意 - 类本身给你指针 - 或“辱骂” - 你有一个指向对象本身的指针,并添加一些偏移量以获得内部成员。)
答案 1 :(得分:0)
是否隐藏了显示编程程序如何生效的详细信息的过程,以避免将这些功能细节访问公共用户,因此它是私有和受保护的行为。