Duplicar posibles:
C++ static virtual members?¿Podemos tener un método estático virtual? (C++)
podemos tener un método estático virtual (en C++)? He tratado de compilar el código siguiente:
#include <iostream>
using namespace std;
class A
{
public:
virtual static void f() {cout << "A's static method" << endl;}
};
class B :public A
{
public:
static void f() {cout << "B's static method" << endl;}
};
int main()
{
/* some code */
return 0;
}
pero el compilador dice que:
member 'f' cannot be declared both virtual and static
así que supongo que la respuesta es no, pero ¿por qué?
gracias, Ron
Aha, entonces estático significa que * esto no existe, virtual significa que el método tiene este puntero. La combinación de los dos hace una contradicción. Genial gracias –