подразумевает наследование и переопределение в производном классе - вы не можете переопределить «глобальную» функцию.

жный дубликат:
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

так что я думаю, что ответ нет, но почему?

спасибо Рон

Ответы на вопрос(4)

Ваш ответ на вопрос