继承关系中派生类重写基类(成员函数和虚函数)

更新时间:2023-07-23 04:07:26 阅读: 评论:0

继承关系中派⽣类重写基类(成员函数和虚函数)我们知道,要想重写基类的虚函数,函数名称、参数、返回类型必须相同,才能够实现多态。反腐倡廉的电视剧
class a {
public:
a() = default;
农村种植virtual void display(int a)const {
std::cout << " A virtual" << std::endl;
}
};
class b :public a {
public:
b() = default;
void display(int a)const {
std::cout << " B" << std::endl;
}
};
class c :public b {
public:
c() = default;
//very very nice
void display(int a)const override{
std::cout << "C virtual" << std::endl;
}
};
椭圆焦点公式int main() {
a* ptr = nullptr;
b cond;
ptr = &cond;
ptr->display(2.3);
c third;
ptr = &third;
ptr->display(2.3);
这⾥要注意:b类中重载时什么关键字都没有写,vitual和override都没有,但依然会别当作虚函数。
这是我们知道的,那么如果不相同会怎么样呢?
这⾥就不贴例⼦了,记住⼀点,只要和上⾯例⼦中不同的,都会别当作⾮虚成员函数来处理。
最穷的国家⽐如,如果我在b类中是这样写:
virtual void display(double a)const{
表达用英语怎么说.......
}
这个函数依然会被当作⾮虚成员函数来处理。
下⾯是我的总结,可能写的不太容易理解:
/*总结:
⽗类为虚函数时,女生自拍
⼦类中,
1.当名称相同,是不是virtual都⼀样,但是参数不同时,编译会将其当作⾮虚成员函数进⾏处理
帮助睡眠的方法
2.如果名称相同,是不是virtual都⼀样,参数相同,都是对虚函数的重写,这⾥要注意的是,就算不加vitual,不加override也是从写虚函数
⽗类为⾮虚函数时,黄焖鸡腿
3.如果⼦类为同名同参虚函数,编译器依然会将其当作⾮虚成员函数来处理,就算后⾯的函数也是如此,依然是⾮虚成员函数来处理
4.如果⼦类为同名不同参虚函数,和上⾯相同的结果
所以呢,只有当名称相同,并且参数相同的虚函数时,才能作为虚函数,实现多态。*/

本文发布于:2023-07-23 04:07:26,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1092863.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数   成员   当作
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图