C++ 运算符重载

运算符重载

运算符重载: C++能将运算符( + - * / 等)的定义扩展到运算分量是对象的情况,并且重载后运算符的运算顺序和优先级不变,这样使得C++ 代码更直观,更易读。

示例

Class A

{

……

}

a,b,c,d;

d=a+b*d

双目运算符重载

非成员形式重载 红色 及成员形式重载 金色

class A

{

   public:

      A(int s){a=s;}

friend A operator +( A  &x , A & y);  // 两个形参对象

A operator –(A &y)                  // 一个形参对象

{

int t=a-y.a;

   A r(t);

return r ; 

}

private:

int a;

};

A operator +( A  &x , A & y)

{

   int m= x.a+y.a;

A  n(m);

return n; 

}

单目运算符(增量运算符)重载

    

前增量重载( 红色 )、后增量重载( 橙色

class A

{

   public:

      A(int s){a=s;}

       A &operator ++ ()

      {

  a++;

  return *this;

}

A operator ++ (int)

{

   A temp(*this);

   a++;

   return temp;

}

private:

int a;

};

赋值运算符重载

A &  operator = ( A &s)

{

a=s.a;

return *this;

}

本课题目

编写一个复数类 Complex 和一个整数类 Increase ,其中复数类基本属性是实部和虚部,整数类的基本属性是数值大小,自己构建成员函数让程序完成以下主函数的各执行语句。

void main()

{

Complex a(3,2),b(2,3),c;

     c=a+b;        //’+’ 运算符重载, 成员函数形式实现

     c.print();      // 输出复数ai+b

     c=a-b;        //’ - 运算符重载, 非成员函数形式实现

     c.print();

      Increase d(100);

     ((++d)++)++.print(); // 前增量、后增量运算符重载, 成员函数形式实现

     d .print();          // 输出整数大小

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值