c++中运算符和相对应的函数符

64 篇文章 0 订阅

运算符和相应的函数符

+:plus

-:minus

*:multiplies

/:divides

%:modulus

-:negate

==:equal_to

!=:not_equal_to

>:greater

<:less

>=:greater_equal

<=:less_equal

&&:logical_and

||:logical_or

!:logical_not
  • 例子:
  • 可以用plus< >类来完成常规的相加运算:
#include <functional>
...
plus<double> add; // create a plus<double> object
double y = add(2.2, 3.4); // using plus<double>::operator()()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++运算符重载的规则如下: 1. 只能重载C++已有的运算符,不能重载成员运算符“.”、指针运算符“*”、作用域运算符“::”等少数几个运算符。 2. 重载后的运算符必须至少有一个操作数是用户自定义的类型。 3. 重载后的运算符不能改变原有的操作数个数。 4. 重载后的运算符不能改变原有的操作数类型。 5. 重载后的运算符不能改变原有的优先级和结合性。 6. 重载后的运算符不能改变原有的语法结构。 实现运算符重载的方式是通过定义一个成员函数或非成员函数来实现。对于成员函数,重载的运算符作为函数名,不需要指定返回类型,也不需要指定参数列表,因为操作数已经隐式地作为函数的调用者和参数传递进来了。对于非成员函数,重载的运算符作为函数名,需要指定返回类型和参数列表,其至少有一个参数是用户自定义的类型。 以下是一个实现运算符重载的例子,假设我们定义了一个名为Complex的复数类,需要实现加法运算符的重载: ```c++ class Complex { public: Complex(double r = 0.0, double i = 0.0) : real(r), imag(i) {} Complex operator+(const Complex& c) const { return Complex(real + c.real, imag + c.imag); } private: double real; double imag; }; ``` 在上面的例子,我们通过定义一个名为operator+的成员函数来实现加法运算符的重载。该函数的参数是一个常量引用,表示另一个复数对象,返回值是一个新的Complex对象,表示两个复数对象相加的结果。在函数体内,我们通过访问成员变量real和imag来实现复数的加法运算。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值