如何直接访问班级的私有成员?

问题描述 投票:1回答:2

我有一个作业,有人问我如何访问类的私有成员并在c ++中对其进行修改。我对其进行了搜索,发现我们可以使用类型转换和指针来完成它,我知道这是未定义的行为,并且它不应该使用。我的问题是:是否可以在其他面向对象的语言(例如Java或python)中执行此操作?

c++ encapsulation
2个回答
1
投票

C ++编程语言具有friend specifier。好友功能可以查看其好友类别的私有成员。但是更多的年轻语言没有这种机制。因为该机制不适用于面向对象的编程范例(用于封装)。


1
投票

在C ++中,您可以编写一个成员函数,该成员函数可以访问和修改私有成员并使这些函数公开。这是OOP的常用方法。但是,当然,包括C ++在内的不同语言可能会提供hax以另一种方式修改受保护的成员。

© www.soinside.com 2019 - 2024. All rights reserved.