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

重定义和重写

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

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

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

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

原创文章,作者:投稿专员,如若转载,请注明出处:https://www.506064.com/n/222247.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
投稿专员的头像投稿专员
上一篇 2024-12-09 14:09
下一篇 2024-12-09 14:09

相关推荐

发表回复

登录后才能评论