我有一个作业,有人问我如何访问类的私有成员并在c ++中对其进行修改。我对其进行了搜索,发现我们可以使用类型转换和指针来完成它,我知道这是未定义的行为,并且它不应该使用。我的问题是:是否可以在其他面向对象的语言(例如Java或python)中执行此操作?
C ++编程语言具有friend
specifier。好友功能可以查看其好友类别的私有成员。但是更多的年轻语言没有这种机制。因为该机制不适用于面向对象的编程范例(用于封装)。
在C ++中,您可以编写一个成员函数,该成员函数可以访问和修改私有成员并使这些函数公开。这是OOP的常用方法。但是,当然,包括C ++在内的不同语言可能会提供hax以另一种方式修改受保护的成员。