c++
最初にクラスインスタンスを作成せずにクラスメソッドを呼び出すことは可能ですか?
次のコードがあるとします。
// just an example
#include <iostream>
using namespace std;
class MyClass {
public:
MyClass();
~MyClass();
int MyMethod(int *a, int *b);
};
// just a dummy method
int MyClass::MyMethod(int *a, int *b){;
return a[0] - b[0];
}
別の例を次に示します。
#include <iostream>
using namespace std;
class MyClassAnother {
public:
MyClassAnother();
~MyClassAnother();
int MyMethod(int *a, int *b);
};
// just a dummy method
int MyClassAnother::MyMethod(int *a, int *b){;
return a[0] + b[0];
}
ご覧のとおり、上記の例では、両方のクラスに内部変数がなく、ダミーのコンストラクタ/デストラクタを使用しています。それらの唯一の目的は、1つのパブリックメソッドを公開することですMyMethod(..)
。私の質問は次のとおりです。ファイルにそのようなクラスが100個あると仮定します(すべてクラス名は異なりますが、構造は同じです。1つのパブリックメソッドが同じプロトタイプを持っています) MyMethod(..)
。
MyMethod(..)
最初に各クラスのクラスインスタンスを作成せずに、各クラスのメソッド呼び出しを呼び出す方法はありますか?