zoukankan      html  css  js  c++  java
  • C++ 单目运算 and 双目运算符重载complex

    1 单目运算

    #include<iostream>
    using namespace std;
    //复数
    class Complex{
        public:
        double real,image;
        Complex()=default;
        Complex(double r, double i)
        :real(r),image(i){}
        ~Complex(){}
        Complex operator++(int i)
        {
            Complex tmp;
            tmp.real = this->real++;
            tmp.image = this->image++;
            return tmp;
        }
        Complex operator++()
        {
            this->real++;
            this->image++;
            return *this;
        }
    };
    
    int main()
    {
        Complex c1(10,20);
        Complex c2;
    //  c2 = c1++;
        c2 = ++c1;
        cout<<c1.real<<endl;
        cout<<c1.image<<endl;
        cout<<c2.real<<endl;
        cout<<c2.image<<endl;
        return 0;
    }
    

    2 双目运算符重载complex.cpp

    #include<iostream>
    using namespace std;
    //复数
    class Complex{
        public:
        double real,image;
        Complex()=default;
        Complex(double r, double i)
        :real(r),image(i){}
        ~Complex(){}
        Complex add(Complex c)
        {
            Complex tmp;
            tmp.real = this->real+ c.real;
            tmp.image= this->image+c.image;
            return tmp;
        }
        Complex operator+(Complex c)
        {
            Complex tmp;
            tmp.real = this->real+ c.real;
            tmp.image= this->image+c.image;
            return tmp;
        }
    friend Complex operator-(Complex c1,Complex c2);
    };
    Complex operator-(Complex c1,Complex c2)
    {
            Complex tmp;
            tmp.real = c1.real - c2.real;
            tmp.image= c1.image-c2.image;
            return tmp;
    }
    
    int main()
    {
        Complex c1(10,20);
        Complex c2(10,20);
        Complex c3 ;
        c3 = c1+c2;
    //  c3 = c1.add(c2);
        cout<<c3.real<<endl;
        cout<<c3.image<<endl;
    
        c1 = c3 - c3;
        cout<<c1.real<<endl;
        cout<<c1.image<<endl;
        return 0;
    }
    
  • 相关阅读:
    491 · 回文数
    936 · 首字母大写
    1343 · 两字符串和
    1535 · 转换成小写字母
    13 · 字符串查找
    146 · 大小写转换 II
    241 · 转换字符串到整数(容易版)
    46 · 主元素
    kotlin协程——>通道
    kotlin协程——>异步流
  • 原文地址:https://www.cnblogs.com/Sico2Sico/p/5384249.html
Copyright © 2011-2022 走看看