接上篇,继续介绍函数覆盖。
1.关于虚表的大小及虚函数的总结如下:
2.关于虚表中虚函数的顺序中
//父类虚函数顺序决定了子类虚函数的顺序
测试结果如下:
3.学习视频地址:函数覆盖的概念2
4.学习笔记
#includeclass CPerson { public: virtual void speak() { printf("Cperson Speak!"); } virtual void eat() { printf("Cperson Eat!"); } virtual void fly() { printf("Cperson Fly!"); } }; class CChinese:public CPerson { public: virtual void fly() { printf("Cperson Fly!"); } virtual void eat() { printf("Cperson Eat!"); } virtual void speak() { printf("CChinese Speak!"); } virtual void joke() { printf("CChinese Joke!"); } }; int main(int argc,char* argv[]) { //函数覆盖 CPerson per;//在不存在virtual且类没有成员变量的情况下,只占用一个字节,作为占用符 int nSize = sizeof(per);//sizeof显示内存的大小,strlen是显示字符串的空间大小 CChinese chs; //(&chs)->speak(); return 0; }



