【发布时间】:2018-06-06 10:04:42
【问题描述】:
在对象 A 中有一个类型为 B 的对象数组。B 类有方法 B1,B2,...B10
我希望对象 A 有一个方法,该方法返回指向 B 类型对象的指针,但只公开方法 B9-B10。调用者不应该知道方法 B1-B8
当返回指向 B 类型对象的指针时,如何隐藏方法 B1-B8?我正在使用 C++
更新:
对象 A 需要访问 B 的所有方法,但 A 只会将方法 B9-B10 暴露在 A 之外。
【问题讨论】:
-
你使用什么语言?
-
将它们设为私有?
-
你有几种方法可以做到这一点:将继承公开,
use Base::B9在私有范围内,使用私有继承并在公共范围内公开B1-B8,或者让类@ 987654323@ 成为私人成员并在B1-B8周围编写内联包装器。请注意,最后一个可能会阻止空基优化,而公共继承将允许强制转换为基类。