Empty virtual func vs pure virtual func | Sololearn: Learn to code for FREE!
Novo curso! Todo programador deveria aprender IA generativa!
Experimente uma aula grƔtis
+ 1

Empty virtual func vs pure virtual func

There is any incovenient in using empty virtual func bodies instead of pure virtual func? The advantaje I see is can create objects of empty ones, working with the other functions and data of the class.. Any observation? Thx

9th Jul 2019, 4:49 AM
BinaryEden
BinaryEden - avatar
1 Resposta
+ 2
Although you can make instances of classes with non pure virtual, virtual functions, it isnā€™t really meant to be better in any way because of that. Pure virtual just means the function MUST have a definition somewhere else in a derived class. A virtual function that isnā€™t pure and that has an empty body essentially means it CAN be overridden in a derived class, but if it is not, the current function body will be used which youā€™ve stated is empty so nothing happens. You cannot create an object of a class with a pure virtual function in it because it has no code to match the function name to without a derived class. Non pure virtual does have code to match, so it will be fine. You should use virtual and pure virtual not for efficiency sake, but instead to force a class to override or just make it possible to do so. Hope this helps!
14th Jul 2019, 11:30 PM
nk361
nk361 - avatar