如何使一个函数只能由c++中的某些子类调用?

How can I make a function only possible to be called by certain subclasses in c++?

本文关键字:子类 调用 c++ 何使一 函数      更新时间:2023-10-16

我有一个私有数组的base类(我不能使它受到保护)。我为数组中的对象设置了getter和setter。base有一个子类sub1, sub1有一个子类sub2

是否有办法使sub1只能访问base的一些getter和setter,而使sub2能够访问其他getter和setter ?

也许有一些虚拟方法?

No。不以任何好的方式

如果你想这样做,你应该通过创建几个多态接口来将你的基类分解成更好的粒度,而不是通过指针或引用传递这些接口,以便每个类只看到它需要看到的函数。