运算符重载

简介: 运算符重载

🎃这是C++专栏的第三篇文章,今天我们学习运算符的重载。


❄️运算符重载概述:

       🔎运算符重载语法:

       在C++中,使用operator 关键字定义运算符重载。运算符重载语法格式如下:

返回值类型 operator 运算符名称(参数列表);
{
    ...//函数体
}


       🔎运算符重载的规则:

  • 只能重载C++中已有的运算符,且不能创造新的运算符。
  • 重载后运算符不能改变优先级和结合性,也不能改变操作数的和语法结构。
  • 运算符重载的目的是针对实际运算数据据结构的需要,重载要保持原有的运算符语句。
  • 并非所有的运算符都可以重载。


        🔎运算符重载的形式:

       运算符重载一般有两种方式:重载为类的成员函数和重载为类的友元函数


       重载为类的成员函数:

       双目运算符重载后的调用格式如下:

左操作数.运算符重载函数(右操作数);

        如果没参数,调用格式如下:

操作数.运算符重载函数();


       重载为类的友元函数:

       运算符重载为类的友元函数,需要在函数前加friend关键字,格式如下:

friend 返回值类型 operator 运算符(参数列表)
{
    ...//函数体
}

       重载为类的友元函数时,由于没有隐含的this指针,因此这个操作个数没有变化。


       ❄️常用的运算符重载:

               🔎输入/输出运算符重载:

ostream& operator <<(ostream &,const 类对象的引用);//输出运算符重载;
istream& operator >>(istream &,类对象引用);


提醒:这个只能重载为类的友元。


       🎃这就是本章的内容,希望大佬发现错误可以在评论区指正。

       🌞我是IT闫,期待你的关注!!!❤️

相关文章
|
编译器 程序员 C++
C++的运算符重载介绍
所谓重载,就是赋予新的含义。函数重载(Function Overloading)可以让一个函数名有多种功能,在不同情况下进行不同的操作。运算符重载(Operator Overloading)也是一个道理,同一个运算符可以有不同的功能。 实际上,我们已经在不知不觉中使用了运算符重载。例如,+号可以对不同类型(int、float 等)的数据进行加法操作;<<既是位移运算符,又可以配合 cout 向控制台输出数据。 C++ 本身已经对这些运算符进行了重载。C++ 也允许程序员自己重载运算符,这给我们带来了很大的便利。 下面的代码定义了一个复数类,通过运算符重载,可以用+号实现复数的加法运算:
65 0
|
6月前
|
程序员 C++
C++程序中的运算符重载
C++程序中的运算符重载
40 2
|
6月前
|
编译器 C++
【c++】运算符重载
【c++】运算符重载
【c++】运算符重载
|
6月前
|
C++
【C++】——运算符重载
【C++】——运算符重载
|
6月前
|
算法 C++ 开发者
40运算符重载
40运算符重载
23 0
|
6月前
|
C++
【C++】运算符重载
【C++】运算符重载
27 0
|
算法 安全 程序员
【为什么】C++ 中需要运算符重载
【为什么】C++ 中需要运算符重载
【C++运算符重载】运算符重载(一)
【C++运算符重载】运算符重载(一)
【C++运算符重载】运算符重载(二)
【C++运算符重载】运算符重载(二)
|
编译器 程序员 C++
第五层:C++中的运算符重载(上)
第五层:C++中的运算符重载(上)
第五层:C++中的运算符重载(上)