如何使一个函数只能由c++中的某些子类调用?
How can I make a function only possible to be called by certain subclasses in c++?
我有一个私有数组的base
类(我不能使它受到保护)。我为数组中的对象设置了getter和setter。base
有一个子类sub1
, sub1
有一个子类sub2
。
是否有办法使sub1
只能访问base
的一些getter和setter,而使sub2
能够访问其他getter和setter ?
也许有一些虚拟方法?
No。不以任何好的方式
如果你想这样做,你应该通过创建几个多态接口来将你的基类分解成更好的粒度,而不是通过指针或引用传递这些接口,以便每个类只看到它需要看到的函数。
相关文章:
- 父类的私有函数会导致对具有相同名称和相似参数的子类中的公共函数的不明确调用
- 由于签名差异,调用了错误的子类函数
- 函数从唯一代码调用正确的子类方法
- 如何使基类从子类调用覆盖函数
- 字符串为函数,由其他子类调用,具有整数值
- 子类调用意外的重载函数
- 从 C++ 中的子类调用重载父类的方法
- C ++如何使用子类调用函数,具有超类指针
- 在C++中,如何从父类变量的子类调用重载方法
- 从另一个子类中的子类调用函数
- C++ 模板子类调用错误的父构造函数
- 从子类调用父类虚函数
- 从模板子类调用模板基类的重写模板成员函数
- 如何使一个函数只能由c++中的某些子类调用?
- 从子类调用非虚方法
- 子类调用超类构造函数
- c++继承从父类的变量上的子类调用函数
- 子类调用基类构造函数,然后使用子类Arduino c++中基类的实例方法
- 用子类调用时匹配模板而不是基类的重载函数模板
- 通过多级继承从模板子类调用基类的模板方法