函数重载的判读问题

来源:百度知道 编辑:UC知道 时间:2024/05/18 08:56:10
Base* Base::copy(Base*);
Base* Derived::copy(Derived *);

这两个函数算是重载函数吗?为什么?
注:Base是基类。Derived是派生类。
但是他们的作用域是不一样的呢?分别属于两个类。
Base::copy
Derived::copy

这个算重载....因为参数不一样..

这个copy不能算是虚函数,就算是虚函数,他们也不能构成多样性,因为虚函数要求函数名,函数返回类型,函数的参数类型和参数类型的顺序必须完全一致.

如果因为是虚函数而构成函数重新定义的情况,在英文叫Overriding.
这种情况应该算重载,英文叫Overloading.

是不是重载要看代码, 而不是完全看你的调用

如果copy不是虚函数的话,这两个调用的都是 Base::copy ,所以可能不算是重载。 因为 Base::copy(Base *)这样的函数原型也是可以接受第二种调用的