подразумевает наследование и переопределение в производном классе - вы не можете переопределить «глобальную» функцию.
жный дубликат:
C ++ статические виртуальные члены?
Можем ли мы иметь виртуальный статический метод (в C ++)? Я попытался скомпилировать следующий код:
#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;
}
но компилятор говорит, что:
member 'f' cannot be declared both virtual and static
так что я думаю, что ответ нет, но почему?
спасибо Рон