Ich wurde in einem Interview gefragt, was ist die Verwendung von virtuellen Schlüsselwort mit einer Klassendeklaration in C++ und ich antwortete, dass virtuelle Schlüsselwort kann nicht mit einer Klassendeklaration in C++ verwendet werden. Der Interviewer sagte, dass es möglich ist und bat mich, es später zu testen.Verwendung von virtuellen Schlüsselwort mit einer Klassendeklaration
Nun, da ich es selbst überprüft habe, habe ich erfahren, dass dies möglich ist, und das ist kein Compilerfehler. In der Tat, wenn ich mit einem Visual C++ Compiler so etwas tun:
virtual class Test
{
int i;
};
Ich erhalte eine Compiler-Warnung „Warnung C4091:‚virtuelle‘: ignoriert auf der linken Seite von‚Test‘, wenn keine Variable deklariert“. Ich habe noch nicht herausgefunden, was diese Warnung bedeutet und weiter, was ist die Verwendung von virtuellen Schlüsselwort. Wenn es keine hilfreiche Verwendung gibt, warum ist das überhaupt erlaubt und warum ist das kein Compilerfehler?
Ich wusste nicht, dass dies nicht mit anderen Compilern funktioniert. Sie sind wahrscheinlich die einzige Person, die meine Frage verstanden zu haben scheint. – Aamir
Es lohnt sich immer, es auf mehr als einem Compiler auszuprobieren. Gcc ist kostenlos, und Sie können Code kostenlos auf Comeau hier ausprobieren: http://www.comeaucomputing.com/tryitout –
Aamir, Sie scheinen zwei Fragen zu haben: (1) Was bedeutet der Interviewer? (2) Warum ist diese rechtliche Syntax? Ich denke, die meisten Leute haben versucht, (1) statt (2) zu antworten. – GrahamS