zoukankan      html  css  js  c++  java
  • C++运算符重载为非成员函数

     1 #include<iostream>
     2 using namespace std;
     3 class Complex{
     4 public:
     5     Complex(double r=0.0,double i=0.0):real(r),imag(i){}
     6     friend Complex operator + (const Complex &c1,const Complex &c2);
     7     friend Complex operator - (const Complex&c1,const Complex &c2);
     8     friend ostream & operator <<(ostream & out,const Complex & c);
     9 private:
    10     double real,imag;
    11 };
    12 Complex operator + (const Complex &c1,const Complex &c2)
    13 {
    14     return Complex(c1.real+c2.real,c1.imag+c2.imag);
    15 }
    16 Complex operator - (const Complex &c1,const Complex &c2)
    17 {
    18     return Complex(c1.real-c2.real,c1.imag-c2.imag);
    19 }
    20 ostream & operator <<(ostream & out,const Complex & c)
    21 {
    22     out<<"("<<c.real<<","<<c.imag<<")";
    23     return out;
    24 }
    25 int main()
    26 {
    27     Complex c1(5,4),c2(2,10),c3;
    28     cout<<"c1="<<c1<<endl;
    29     cout<<"c2="<<c2<<endl;
    30     c3=c1-c2;
    31     cout<<"c3=c1-c2="<<c3<<endl;
    32     c3=c1+c2;
    33     cout<<"c3=c1+c2="<<c3<<endl;
    34     return  0;
    35 }
    View Code
  • 相关阅读:
    k8s升级
    k8s常用命令kubeadm
    k8s部署安装-更新时间2020-10-5(docker)
    centos7安装后的优化-2019-10-12更新
    gitlab安装后出现的web IDE显示报错问题
    奋斗的路上
    Spring Boot之过滤器
    java 并发
    jar包使用
    找不到xsd文件思路
  • 原文地址:https://www.cnblogs.com/wangkaipeng/p/4585298.html
Copyright © 2011-2022 走看看