¿Es posible invocar un método de clase c++
sin crear primero una instancia de clase?¿Invocar un método de clase C++ sin una instancia de clase?
Supongamos que tenemos el siguiente código:
// 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];
}
He aquí otro ejemplo:
#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];
}
Como podemos ver, en los ejemplos anteriores, ambas clases no tienen variables internas y usar constructores/destructores ficticios; Su único propósito es exponer un método público, MyMethod(..)
. Aquí está mi pregunta: supongamos que hay 100 clases en el archivo (todas con diferentes nombres de clase, pero con una estructura idéntica, un método público con el mismo prototipo) MyMethod(..)
.
¿Hay alguna manera de invocar el MyMethod(..)
llamadas a métodos de cada una de las clases sin crear primero una instancia de clase para cada
¿Qué tal hacer 'MyMethod' estático? http://www.functionx.com/cppcli/classes/Lesson12b.htm – rjz
¿Y realmente necesita el constructor/destructor? Oye, ¿por qué no utilizar una función gratuita en primer lugar? – Keith
@Keith - No necesito el constructor/destructor. Pero, sí necesito tener todos los métodos llamados 'MyFunction()' - entonces, para diferenciar entre los diferentes métodos, los estoy envolviendo en diferentes clases; ¿Tiene una mejor idea de cómo lograr esa funcionalidad sin dejar de llamarlos 'MyFunction()'? – user58925