クラスメソッドを呼び出すヘルプ関数を書きたい:
foo.h
class cls{
public:
void fun();
void fun1();
};
foo.cpp
void cls::fun(){
helperFun();
}
void helperFun(){
fun1();//how to call fun1() here?
}
どのようにすればよいですか、またはそれを行う最善の方法は何ですか?
クラスメソッドを呼び出すヘルプ関数を書きたい:
foo.h
class cls{
public:
void fun();
void fun1();
};
foo.cpp
void cls::fun(){
helperFun();
}
void helperFun(){
fun1();//how to call fun1() here?
}
どのようにすればよいですか、またはそれを行う最善の方法は何ですか?
ヘルパー関数を引数として fun1 に渡します。
void cls::fun(){
helperFun(this); //currently passing as this pointer
}
void helperFun(cls* obj){
obj->fun1();
}
クラスのあるメソッドから呼び出すヘルパー関数が必要で、同じクラスの別のメソッドを呼び出す必要がある場合、それをクラスのメンバーにしないのはなぜですか? つまり、スタンドアロンのメソッドにすることはできません。クラスと密接に結合されています。したがって、クラス IMO に属している必要があります。