ex0302.cpp

来自「Visual+C+++6[1].0实用教程代码 Visual+C+++6[1]」· C++ 代码 · 共 70 行

CPP
70
字号
// ex0302.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream.h>

class complex
{
public:
    complex() { real=imag=0; }
    complex(double r, double i)
    {
        real = r, imag = i;
    }
    complex operator +(const complex &c);
    complex operator -(const complex &c);
    complex operator *(const complex &c);
    complex operator /(const complex &c);
    friend void print(const complex &c);
private:
    double real, imag;
};

inline complex complex::operator +(const complex &c)
{
    return complex(real + c.real, imag + c.imag);
}

inline complex complex::operator -(const complex &c)
{
    return complex(real - c.real, imag - c.imag);
}

inline complex complex::operator *(const complex &c)
{
    return complex(real * c.real - imag * c.imag, real * c.imag + imag * c.real);
}

inline complex complex::operator /(const complex &c)
{
    return complex((real * c.real + imag + c.imag) / (c.real * c.real + c.imag * c.imag),
            (imag * c.real - real * c.imag) / (c.real * c.real + c.imag * c.imag));
}

void print(const complex &c)
{
    if(c.imag<0)
        cout<<c.real<<c.imag<<'i';
    else
        cout<<c.real<<'+'<<c.imag<<'i';
}

int main(int argc, char* argv[])
{
   complex c1(2.0, 4.0), c2(2.0, -4.0), c3;
    c3 = c1 + c2;
    cout<<"\nc1+c2=";
    print(c3);
    c3 = c1 - c2;
    cout<<"\nc1-c2=";
    print(c3);
    c3 = c1 * c2;
    cout<<"\nc1*c2=";
    print(c3);
    c3 = c1 / c2;
    cout<<"\nc1/c2=";
    print(c3);
    cout<<endl;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?