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;
}

重定义和重写

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

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至624739273@qq.com举报,一经查实,本站将立刻删除。
Like (0)
柳的头像

相关推荐

发表回复

Please Login to Comment
微信
微信
SHARE
TOP
要想花得少,就用购宝。话费电费9折起,官方公众号:购宝