c++重载和重写的区别是什么(c++ 运算符重载)

一定是同一个作用域下两函数的函数名相同,但是参数不能完全相同,可以是参数类型不同,也可以是参数个数不同,至于返回值,不影响,今天小编就来说说关于c++重载和重写的区别是什么?下面更多详细答案一起来看看吧!

c++重载和重写的区别是什么(c++ 运算符重载)

c++重载和重写的区别是什么

重载

一定是同一个作用域下。

两函数的函数名相同,但是参数不能完全相同,可以是参数类型不同,也可以是参数个数不同,至于返回值,不影响。

重载例子

void Test(int x, int y){    std::cout << "Test int, int" << std::endl;}void Test(int x, double y) {    std::cout << "Test int, double" << std::endl;}int main(void) {     Test(1, 2);    Test(1, 1.1);        return 0;}

重定义和重写

发生在两个不同的类中,一个是父类,一个是子类。

重定义分两种,一种是普通函数重定义,另一种是虚函数重写。

普通函数重定义:如果父类的普通成员函数被子类重写,就是重定义。

虚函数重写:如果父类的虚函数被子类重写,就是虚函数重写,这个函数就会发生多态。

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页