Da, clasele abstracte au vtables, de asemenea cu metode abstracte pure (acestea pot fi implementate și apelate de fapt), și da - constructorul lor inițializează intrările pure la un valoare specificată.
Clasa abstractă poate avea funcție virtuală?
O clasă abstractă conține cel puțin o funcție virtuală pură. Declarați o funcție virtuală pură folosind un specificator pur (=0) în declarația unei funcții membru virtual în declarația clasei.
Fiecare clasă are masă virtuală?
Deci răspunsul scurt este nu. Standardul nu specifică acest lucru.
Clasa abstractă conține funcții non-virtuale?
Clasele abstracte (în afară de funcțiile virtuale pure) pot avea variabile membre, funcții non-virtuale, funcții virtuale obișnuite, funcții statice etc. Obiectele claselor abstracte nu pot fi insantiate.
Clasa abstractă poate crea obiecte?
Nu, nu putem crea un obiect dintr-o clasă abstractă … Variabila de referință este folosită pentru a se referi la obiectele claselor derivate (subclase ale clasei abstracte). O clasă abstractă înseamnă ascunderea implementării și afișarea definiției funcției utilizatorului este cunoscută sub denumirea de clasă abstractă.