Можно ли вызвать метод класса 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];
}
Как мы видим, в приведенных выше примерах оба класса не имеют внутренних переменных и используют фиктивные конструкторы/деструкторы; Их единственная цель - разоблачить один открытый метод, MyMethod(..)
. Вот мой вопрос: предположим, что в файле 100 таких классов (все с разными именами классов, но с одинаковой структурой - один открытый метод, имеющий тот же прототип - MyMethod(..)
.
Есть ли способ вызвать вызовы метода MyMethod(..)
для каждого из классов без предварительного создания экземпляра класса для каждого?