学习笔记——c++中的重载

重载

**重载**包括函数重载和运算符重载,既同名函数可以用以实现不同功能,同一个运算符可以有不同的功能。	

1.函数重载
在同一个作用域中 ,可以声明几个功能类似的同名函,但这些同名函数的形式参数(参数的个数、类型、顺序)必须不同。
简单来说就是该函数实际使用过程中根据其代入形参的类型、顺序以及个数来确定具体执行哪一种功能。

2.运算符重载
运算符重载实质上可以理解为用一个函数重新定义某一个运算符的功能,当使用到该运算符时,调用函数来实现对应功能。

运算符重载语法格式如下:

返回值类型  operator 运算符名称 (形参列表)
{
	//函数具体功能。
}

C++中不可以重载的运算符有:
成员访问符(.)、 成员指针访问运算符(.* 、->*) 、 域运算符(::)、
长度运算符(sizeof)、条件运算符(?:) 、 预处理运算符(#)

其余均可进行重载,例如:
双目运算符: +、-、、/、%;
关系运算符:==、 !=、<、>、<=、>=;
逻辑运算符:|| 、 && 、!;
单目运算符: +(正)、-(负)、
(指针)、&(取地址);
自增自减运算符: ++ 、 — — ;
位运算符:| 、 & 、 ~、^ 、 <<、 >>;
赋值运算符: = 、 += 、–=、*= 、/=、%=、 &=、|=、^=、<<= 、>>=;
空间操作: new 、delete 、 new[ ] 、delete[ ];
此外还有:(),—>(成员访问)、 , 、[ ]

你可能感兴趣的:(学习资料,c++)