【发布时间】:2020-09-01 02:29:45
【问题描述】:
我有一个关于继承的问题:
例如,我有一个带有私有成员的基类 A:x, y
我有 getter 函数 getx 和 gety, 我想使用从 A 到继承自 A 的类 B 的 getter 函数,
但我的问题是 x 和 y 是 A 的私有成员 我无法从 B 访问 A 的私有信息。
所以我需要为 B 类创建两个 x,y 但这样我将无法使用 A 类的 get 函数。
有什么帮助吗?我不知道如何在不创建新成员的情况下访问 A 的私有成员。也许与构造函数?但我不确定如何。
【问题讨论】:
-
不能从派生类访问私有成员。请改用受保护的成员。将它们视为私有的,除了继承,而公共成员对每个类都是可访问的。
-
更好地显示代码而不是用英文描述代码。细节很重要,为了给你指明正确的方向,看看
A和B到底是什么会很好 -
为什么要访问不同类的私有成员?它们不应该从外部访问,这就是它们是私有的原因
-
那么我可以对我的函数做些什么呢?因为如果我不能使用 A 的 get 函数,我将不得不在 B 中创建新函数,所以我不需要继承
-
如果函数是公开的,您可以调用它们,但请发帖minimal reproducible example
标签: c++ inheritance private