2 つのクラスがある場合:
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;}
}
トップクラスにはワーカークラスのインスタンスが含まれています。ワーカーがインスタンス化されると、親クラスへのポインターが渡されます。後で、親から値を取得する必要がある関数 doSomeWork() が呼び出されるため、mp_parent->privateFunction() が呼び出されます。
これを達成するための最良の方法は何ですか?・privateFunction()は避けられるなら本当はpublic関数にしたくないのですが、privateなのでそのままでは動きません:o
他のオプションはありますか?