Мне было задано в интервью, что использование виртуального ключевого слова с объявлением класса в C++, и я ответил, что виртуальное ключевое слово не может использоваться с объявлением класса в C++. Интервьюер сказал, что это возможно, и попросил меня проверить его позже.использование виртуального ключевого слова с объявлением класса
Теперь, когда я сам это проверил, я узнал, что это возможно, и это не ошибка компилятора. На самом деле, когда я делаю что-то вроде этого с компилятором Visual C++:
virtual class Test
{
int i;
};
я получаю предупреждение компилятора «предупреждение C4091:„виртуальный“: игнорируется на левом„Test“, когда никакая переменная не объявлена». Я еще не смог узнать, что означает это предупреждение и в дальнейшем используется использование виртуального ключевого слова. Если нет полезного использования, то почему это разрешено в первую очередь и почему это не ошибка компилятора.
Я не знал, что это не работает с другими компиляторами. Вы, наверное, единственный человек, который, кажется, понял мой вопрос. – Aamir
Всегда стоит попробовать его на одном компиляторе. Gcc является бесплатным, и вы можете попробовать код бесплатно на Комо здесь: http://www.comeaucomputing.com/tryitout –
Амир, у вас, кажется, есть два вопроса: (1) что сделал интервьюер? (2) Почему этот юридический синтаксис? Я думаю, что большинство людей пытались ответить (1), а не (2). – GrahamS