在C++中区分函数重载和函数重载?
发布于 2012-08-11 13:19:11
当您更改方法签名中参数的原始类型时,您正在设置重载。
当您在派生类中更改方法的原始实现时,您正在设置重写。
发布于 2012-08-11 12:59:48
重载C++中的方法(或函数)是定义同名函数的能力,只要这些方法具有不同的签名(不同的参数集)。方法重写是继承类重写基类的虚方法的能力。
a)在重载中,同一类中可用的方法之间存在关系,而在重载中,超类方法和子类方法之间存在关系。
(b)重载不会阻止超类的继承,而重载会阻止超类的继承。
(c)在重载中,单独的方法共享相同的名称,而在重载中,子类方法替换超类。
(d)重载必须具有不同的方法签名,而重载必须具有相同的签名。
发布于 2012-08-11 13:02:25
当您想要使用不同参数的相同的函数时,就会进行函数重载
void Print(string s);//Print string
void Print(int i);//Print integer进行函数重写是为了给基类中的函数赋予不同的含义
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
}https://stackoverflow.com/questions/11912022
复制相似问题