⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 complexfunc.cpp

📁 做为SD0609的一员,我扎实的基础是如何打出来的,来看看我那时连猴子选大王都不会的人,是如何成长起来的吧!主要包括我所做的C++,JAVA基础联系.乱是乱了点,不过如果真心想学习,打好基础,看看也不
💻 CPP
字号:
/***********************************************************
* 复数类演示程序(成员,友元)
* 达内,陈宗权,2006/8
***********************************************************/
#include <iostream>
using namespace std;
class Complex{//定义复数类
    int real;//实部
    int image;//虚部
public:
    Complex( int r=0,int i=0 )//构造
        :real(r),image(i)//初始化列表
    {}
    Complex add( const Complex& cc )const//两个复数相加
    {
        int r=real+cc.real;
        int i=image+cc.image;
        return Complex(r,i);
    }
    //两个复数相加,友元
    friend Complex add( const Complex&,  const Complex& );
    Complex sub( const Complex& cc )const//两个复数相减
    {
        int r=real-cc.real;
        int i=image-cc.image;
        return Complex(r,i);
    }
    //两个复数相减,友元
    friend Complex sub( const Complex&,  const Complex& );
    //输出复数信息
    void output()
    {
        cout << '(';
        //实部非零输出实部
        if( real!=0 )
            cout << real;
        if( image!=0 ){//虚部非零则输出虚部和i
            if( image>0 && real!=0 )//如果实部为正则输出加号
                cout << '+';
            cout << image << 'i';
        }
        if( real==0&&image==0 )//整个复数为零输出零
            cout << 0;
        cout << ')';
    }
    //输入一个复数
    void input()
    {
        char ch;//用来保存虚部输入的字符i
        char s;//用来保存虚部的符号(+/-)
        cin >> real >> s >> image >> ch;//输入
        if( s=='-' ) image = -image;
    }
};
Complex add( const Complex& c1,  const Complex& c2 )//两个复数相加
{
    int r=c1.real+c2.real;
    int i=c1.image+c2.image;
    return Complex(r,i);
}
Complex sub(  const Complex& c1, const Complex& c2 )//两个复数相减
{
    int r=c1.real-c2.real;
    int i=c1.image-c2.image;
    return Complex(r,i);
}
int main()
{
    Complex c1, c2(3), c3( 4, 5 ), c4(c3);
    c2.output();cout<<"+";c3.output();cout<<"=";
    c2.add( c3 ).output();cout<<endl;
    c2.output();cout<<"-";c3.output();cout<<"=";
    c2.sub( c3 ).output();cout<<endl;
    cout<<"input a complex:"<<endl;
    c2.input();
    cout<<"input another complex:"<<endl;
    c3.input();
    c2.output();cout<<"+";c3.output();cout<<"=";
    add( c2, c3 ).output();cout<<endl;
    c2.output();cout<<"-";c3.output();cout<<"=";
    sub( c2, c3 ).output();cout<<endl;
    return 0;
}

⌨️ 快捷键说明

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