首页 > 代码库 > 解释清楚c++的重载操作符【用自己的话,解释清楚】

解释清楚c++的重载操作符【用自己的话,解释清楚】

C++中对于内置的变量及标准库中常见的类定义类常见的操作符含义,对于自定义的类也可以通过关键字operate 重载操作符的含义。

C++中支持重载的目的

诚然操作符的重载可以通过使用函数实现同样的功能,但C++中引入重载,我想是为了增加代码的见解性和可读性。

具体的使用

在要重载的参数名儿前加operate关键字,其他与普通的函数声明类似。

 

参考例子

 

class person
{
public:
int age;
};
bool operator==(person const &p1 ,person const & p2)
{
if(p1.age==p2.age)
return true;
return false;
}

 

应用:

int main()
{
person rose;
person jack;
rose.age=18;
jack.age=23;
if(rose==jack)
cout<<"ok"< return 0;
}

重载运算符的限制

  1. C++中只能对已有的C++运算符进行重载,不允许用户自定义新的操作符。
  2. 大部分操作符支持重载,除了成员引用操作符作用域操作符::条件判断操作符?长度运算符sizeof等。
  3. C++的重载不允许改变操作符的参数个数。
  4. C++中的重载不允许类型中全部是c++预定义的类型,这样做是为了防止改变基本类型运算。
  5. C++操作符重载不会改变现有操作符的运算优先级及结合性。

 

QQ群 计算机科学与艺术  272583193

加群链接:http://jq.qq.com/?_wv=1027&k=Q9OxMv