您当前的位置: 首页 >  c++

真的没事鸭

暂无认证

  • 5浏览

    0关注

    75博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C++运算符重载详解

真的没事鸭 发布时间:2022-10-06 00:01:36 ,浏览量:5

目录

什么是运算符重载

运算符重载的意义

运算符重载的语法格式

简单例子

“+”运算符的重载

代码分析

运算符重载的两种方式

1,重载为类的成员函数

(1),双目运算符

(2),单目运算符

2,重载为类的友元函数

(1)重载格式

(2)调用格式

两种重载方式的选择

运算符重载的规则

常用运算符的重载

1,输入输出运算符的重载

说明

案例

注意:

2,关系运算符的重载

案例

重载关系运算符的准则

3,赋值运算符的重载

类型转换函数

重载类型转换运算符的原因

案例:定义一个A类,将A类型的对象转换为char类型

转换构造函数

什么是转换构造函数

转换构造函数的作用

转换构造函数的用法

案例

什么是运算符重载

运算符重载(Operator overload)是对已有的运算符赋予多重含义,使同一个运算符作 用于不同类型的数据时做出不同的行为。

例如:学生类包括姓名,年龄,班级,成绩等,定义了两个学生变量,想比较它们的大 小,如何比较大小呢?

为“学生”类重载“>”符号,然后在这个方法里实现比较的意义:按年龄、按成绩或 按姓名首字母比较等。

运算符重载的意义

运算符重载的本质是函数重载,是实现多态的重要手段,为用户提供了一个直观的接口。 调用运算符操作自定义数据类型其实就是调用运算符函数。运算符重载使用同样的运算 符,可以操作不同的数据,增强了C++的可扩充性,使代码更加直观、易读,便于对对 象进行各种运算操作。

运算符重载的语法格式

重载的运算符是具有特殊名字的函数:它们的名字由关键字operator,后跟要重载的运 算符。

返回类型 operator 运算符(参数列表)

{

    函数体;

}

说明:运算符是要重载的运算符名(如+、-、*、/等),但必须是C++允许重载的运算 符

简单例子 “+”运算符的重载
#include 
using namespace std;

class A
{
private:
	int x, y;
public:
	A(int x1 = 0, int y1 = 0)
	{
		x = x1;
		y = y1;
	}
	A operator+(const A& a)const//重载-运算符的实现
	{
		return A(x + a.x, y + a.y);//调用A类构造函数创建一个临时匿名对象作为函数返								回
	}
	void show()
	{
		cout             
关注
打赏
1663134582
查看更多评论
0.0758s