13.3 How do virtual functions work in C++? 这道题问我们虚函数在C++中的工作原理.虚函数的工作机制主要依赖于虚表格vtable,即Virtual Table.当类中定义了虚函数时,一个虚表格就建立了用来保存该类的虚函数的地址.此时编译器Compiler也会在该类中增加一个虚指针vptr(Virtual Pointer),用来指向虚表格.当一个虚函数在派生类中没有被重写时,派生类中的虚表格中仍然存的是基类的虚函数的地址.当虚函数被调用时,就要到虚表格中取…
原文链接:http://www.drdobbs.com/cpp/standard-c-programming-virtual-functions/184403747 By Josée Lajoie and Stanley Lippman, September 01, 2000 As we gain mastery of C++, it is natural to question the rules of thumb that helped us get by in the beginning.…
Ordinarily, if we do not use a function, we do not need to supply a definition of the function. However, we must define every virtual function, regardless of whether it is used, bacuase compiler has no way to determine whether a virtual function is u…