C++学习总结Part1.4 面向对象之重载

文章介绍了编程中的重载概念,包括函数重载和运算符重载。函数重载允许同一函数名有不同的参数列表,而运算符重载则是为运算符赋予处理不同类型数据的能力。运算符重载为函数时,参数数量应与运算对象数量一致,且不能重载特定运算符如条件运算符和作用域运算符。此外,还提到了运算符重载为成员函数的情况,以及默认参数的使用规则和注意事项。
摘要由CSDN通过智能技术生成

一、重载的概念

  1. 编程中重载是指函数名相同,函数的参数列表不同(包括参数个数和参数类型),至于返回类型可同可不同。
  2. 重载是可使用相同函数、运算符等处理不同类型数据或接受不同个数的参数的一种方法。

二、运算符重载的概念

  1. 运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。
  2. 重载的运算是具有特殊名字的函数:它们的名字由关键字operator和其后要定义的运算符号共同组成:
    1. 返回类型 operator运算符(参数列表);

三、运符符重载为函数

  • 运行符重载为函数的参数数量应与该运算符的运算对象数量一样多。一元运算符有一个参数,二元有两个参数。参数的类型应该根据运算符要操作的对象类型决定。
  • 比如说,我们希望重载运算符支持CompleNumber的加法,则运算符会操作两个CompleNumber对象:
    1. CompleNumber c1 c2;
    2. CompleNumber c3=c1+c2;
  • 以下运算符是不能重载的:
    1. 条件运算符   (?:)
    2. 作用域运算符  (::)
    3. 成员指针运行符 (.*)

四、运算符重载为成员函数

如果要将运算符重载为成员函数,则运算符的第一个操作的元素为当前对象(也就是this指针),如果有第二个操作的元素则由参数指定,因此,运算符重载为成员函数的参数数量比运算符重载为函数的参数数量少一个。

1、默认参数的概念

函数的默认参数值,即在定义参数的时候同时给它一个默认值,在调用函数传参的时候,可以省略含有默认值的参数。

例如:

void func(int i=0;int j=1);

注意事项:

默认参数的值是严格按照从右至左的顺序指定。

默认参数的值只能在声明或定义中一处指定,不能同时指定

默认参数和函数重载会出现二义性问题,如:

void func(); 和void func(int i=0);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值