首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >区分函数重载和函数重载

区分函数重载和函数重载
EN

Stack Overflow用户
提问于 2012-08-11 12:56:23
回答 11查看 285K关注 0票数 51

在C++中区分函数重载和函数重载?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2012-08-11 13:19:11

当您更改方法签名中参数的原始类型时,您正在设置重载。

当您在派生类中更改方法的原始实现时,您正在设置重写。

票数 17
EN

Stack Overflow用户

发布于 2012-08-11 12:59:48

重载C++中的方法(或函数)是定义同名函数的能力,只要这些方法具有不同的签名(不同的参数集)。方法重写是继承类重写基类的虚方法的能力。

a)在重载中,同一类中可用的方法之间存在关系,而在重载中,超类方法和子类方法之间存在关系。

(b)重载不会阻止超类的继承,而重载会阻止超类的继承。

(c)在重载中,单独的方法共享相同的名称,而在重载中,子类方法替换超类。

(d)重载必须具有不同的方法签名,而重载必须具有相同的签名。

票数 88
EN

Stack Overflow用户

发布于 2012-08-11 13:02:25

当您想要使用不同参数的相同的函数时,就会进行函数重载

代码语言:javascript
复制
void Print(string s);//Print string
void Print(int i);//Print integer

进行函数重写是为了给基类中的函数赋予不同的含义

代码语言:javascript
复制
class Stream//A stream of bytes
{
public virtual void Read();//read bytes
}

class FileStream:Stream//derived class
{
public override void Read();//read bytes from a file
}
class NetworkStream:Stream//derived class
{
public override void Read();//read bytes from a network
}
票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11912022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档