c++,操作符重载复数类

  

一。操作符重载

  

问:下面的复数解决方案是否可行吗?

  
 <代码>类复杂
  {
  公众:
  int;
  int b;
  };
  
  int main ()
  {
  复杂的c1={1,2};
  复杂的c2={3、4};
  
  复杂的c3=c1 + c2;
  
  返回0;
  } 
  

该段代码想要实现的是将两个复数类进行相加得出第三个类
代码实现的运行结果
 C + +,操作符重载复数类“> <br/>由上面的结果图可以得知,出现的错误是无法匹配+号操作符的操作,同时出现的潜在问题是a与b是公共成员,在实际的操作中应将a与b设置为私人成员<br/>改正的代码示例</p>
  <pre> <代码> # include & lt; iostream>
  使用名称空间性病;
  
  类复杂
  {
  int;
  int b;
  公众:=0复杂(int, int b=0)
  {
  这→=;
  这个→b=b;
  }
  
  int木屐()
  {
  返回一个;
  }
  
  int getB进行排队()
  {
  返回b;
  }
  
  朋友复杂的添加(const Complex&p1, const Complex&p2);
  };
  
  复杂的添加(const Complex&p1, const Complex&p2)
  {
  复杂的受潮湿腐烂;
  
  ret.a=p1。+ p2.a;
  ret.b=p1。b + p2.b;
  
  返回受潮湿腐烂;
  }
  
  int main ()
  {
  
  复杂的c1 (1、2);
  复杂的c2 (3、4);
  复杂的c3=添加(c1, c2);//c1 + c2
  
  cout<& lt;“c3。一个=c++,操作符重载复数类