?? complex.cpp
字號:
#include <iostream>
using namespace std;
class complex
{
private:
double real;
double image;
public:
complex ( ); //缺省構(gòu)造函數(shù)
complex (double r, double i); //順便初始化值的構(gòu)造函數(shù)
complex operator +(complex x); //計算A+B
complex operator ++( ); //計算++A
complex operator --(int); //計算A-
complex operator =(double x); //把一個double賦給一個complex時該怎么辦
//系統(tǒng)還自動生成了一個complex operator=(complex);,它的實現(xiàn)是簡單拷貝
//所以如果類中有指針成員,它會像默認(rèn)的拷貝構(gòu)造函數(shù)那樣出問題L
//我們?nèi)绻貙懰€要注意檢查自己賦給自己的情況
void print(); //輸出復(fù)數(shù)
};
complex::complex( )
{
real=0.0f;
image=0.0f;
}
complex::complex(double r, double i)
{
real=r;
image=i;
}
complex complex::operator +(complex x)
{
complex c;
c.real=real+x.real;
c.image=image+x.image;
return c;
}
complex complex::operator ++( )
{
complex c;
++real;
c.real=real;
c.image=image;
return c;
}
complex complex::operator --(int)
{
complex c;
c.real=real;
c.image=image;
real--;
return c;
}
complex complex::operator =(double x)
{
real=x;
return *this; //按照C++的慣例,返回*this,以便實現(xiàn)鏈?zhǔn)奖磉_(dá)式
}
void complex::print( )
{
cout<<real<<"+"<<image<<"i"<<endl;
}
void main( )
{
complex a(1,2);
complex b(4,5);
complex c=a+b;
complex d=++a;
complex e=b--;
//complex f=0.234; //這樣寫現(xiàn)在還不行,因為上面沒寫相應(yīng)的拷貝構(gòu)造函數(shù)
//你可以試著寫一個
complex f;
f=a=0.234; //鏈?zhǔn)奖磉_(dá)式
a.print( );
c.print( );
d.print( );
e.print( );
f.print( );
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -