C++中函数覆盖和使用虚函数有什么区别
答案:1 悬赏:80 手机版
解决时间 2021-01-17 06:24
- 提问者网友:且恨且铭记
- 2021-01-16 12:30
C++中函数覆盖和使用虚函数有什么区别
最佳答案
- 五星知识达人网友:毛毛
- 2021-01-16 13:37
我觉得最明显的区别,给你举个例子。
有两个类 :父类 Class 子类 Student 同有一个函数名为 num的函数
父类对象 class 子类对象 student
那么函数覆盖就是 student.num(); //直接用子类对象调用了子类函数
而虚函数则是 Class *pt;
pt=&student; pt->num(); //用父类指针对象调用子类函数
能大致明白吗?函数覆盖是在子类对象调用函数时(父类和子类的函数头一样)选择了子类自己的函数,而不是调用继承于父类的函数
而虚函数则是定义了父类的指针对象,而用它可以调用到子类对象的函数
有两个类 :父类 Class 子类 Student 同有一个函数名为 num的函数
父类对象 class 子类对象 student
那么函数覆盖就是 student.num(); //直接用子类对象调用了子类函数
而虚函数则是 Class *pt;
pt=&student; pt->num(); //用父类指针对象调用子类函数
能大致明白吗?函数覆盖是在子类对象调用函数时(父类和子类的函数头一样)选择了子类自己的函数,而不是调用继承于父类的函数
而虚函数则是定义了父类的指针对象,而用它可以调用到子类对象的函数
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯