一段C++程序,这算在派生类中重载Run()函数吗?
答案:2 悬赏:0 手机版
解决时间 2021-11-26 06:29
- 提问者网友:杀手的诗
- 2021-11-26 03:13
一段C++程序,这算在派生类中重载Run()函数吗?
最佳答案
- 五星知识达人网友:山河有幸埋战骨
- 2021-11-26 03:40
不算,这是隐藏,如果Run写成虚函数,就是覆盖(重写),重载是在同一作用域,函数名相同,参数类型,个数,位置不同的函数追问哦~那怎么写才是重载Run()函数呢?追答你需要实现什么功能啊?
例:
你想DogRun类调自己的Run,BaseRun调自己的Run,就用虚函数,在BaseRun的Run函数前加virtual 后面每个继承BaseRun的类都是调用自己的Run
如果就是重载例
void Run(void)
{}
void Run(int x)
{}
这就是重载了,重载一般都是写在全局的或者一个类里面,继承的没有基类和派生类的重载,作用域不一样,有了多态,所以继承就没有重载
你调用run函数可以 Run 也可以Run(123)
例:
你想DogRun类调自己的Run,BaseRun调自己的Run,就用虚函数,在BaseRun的Run函数前加virtual 后面每个继承BaseRun的类都是调用自己的Run
如果就是重载例
void Run(void)
{}
void Run(int x)
{}
这就是重载了,重载一般都是写在全局的或者一个类里面,继承的没有基类和派生类的重载,作用域不一样,有了多态,所以继承就没有重载
你调用run函数可以 Run 也可以Run(123)
全部回答
- 1楼网友:玩家
- 2021-11-26 05:17
这个不是重载
函数重载的条件是要求函数的参数的类型有所不同,或者是函数参数的个数所有不同,或者两者都不同。追问那怎么写才是重载Run()函数呢?追答在BaseRun的Run前面加virtual即可。
函数重载的条件是要求函数的参数的类型有所不同,或者是函数参数的个数所有不同,或者两者都不同。追问那怎么写才是重载Run()函数呢?追答在BaseRun的Run前面加virtual即可。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯