Меня спросили в интервью, что такое виртуальное ключевое слово с объявлением класса в C ++, и я ответил, что виртуальное ключевое слово нельзя использовать с объявлением класса в C ++. Интервьюер сказал, что это возможно, и попросил меня проверить это позже.
Теперь, когда я проверил это сам, я узнал, что это возможно, и это не ошибка компилятора. Фактически, когда я делаю что-то подобное с компилятором Visual C ++:
virtual class Test
{
int i;
};
Я получаю предупреждение компилятора «предупреждение C4091:« виртуальный »: игнорируется слева от« Тест », когда переменная не объявляется» ». Я еще не смог выяснить, что означает это предупреждение, а также что такое использование виртуального ключевого слова. Если нет полезного использования, то почему это в первую очередь разрешено и почему это не ошибка компилятора.