如果我有两节课:
class worker
{
Top *mp_parent;
worker(Top *parent) : mp_parent(parent) {};
int doSomeWork()
{
int i = mp_parent->privateFunction(); // This is the function I want to call
}
}
class Top
{
private:
worker m_Worker;
int privateFunction() {return 1;}
}
其中 Top 类包含一个工人类的实例。在worker实例化的时候,传入一个指向父类的指针,之后调用了doSomeWork()函数,需要从父类获取值,所以调用了mp_parent->privateFunction()。
实现这一目标的最佳方法是什么?- 如果可以避免,我真的不想将 privateFunction() 设为公共函数,但它不能按原样工作,因为它是私有的:o
还有其他选择吗?