1樓:匿名使用者
我想樓主主要是想看到過載函式的實現過程,所以我自動給參加運算的複數付值。考慮你是初學者,我都用的是很簡單的語句寫的,都是一看就懂的句子。
#include
using namespace std;
class complex
private:
double m_image; //描述實部
double m_real; //描述需部
public:
complex (double i=0,double j=0)
m_real=i;
m_image=j;
//complex operator + (complex c);
friend complex operator + (complex cp1,complex cp2);
//complex operator - (complex c);
friend complex operator - (complex cp1,complex cp2);
void show();
/*complex complex::operator + (complex c)
return complex(m_real+c.m_real,m_image+c.m_image);
complex complex::operator - (complex c)
return complex(m_real-c.m_real,m_image-c.m_image);
complex operator + (complex cp1,complex cp2)
return complex(cp1.m_real+cp2.m_real,cp1.m_image+cp2.m_image);
complex operator - (complex cp1,complex cp2)
return complex(cp1.m_real-cp2.m_real,cp1.m_image-cp2.m_image);
void complex::show()
cout complex c1(5,7),c2(4,5),c3;//宣告3個複數 cout<<"第一個複數:"; c1.show(); cout<<"第二個複數:"; c2.show(); c3=c1+c2; cout<<"兩個複數和為:"; c3.show(); c3=c1-c2; //c3為comple型動態變數,可重複付值 cout<<"兩個複數差為:"; c3.show(); return 0; 2樓:匿名使用者 +運算子: -的 測試:void main() 3樓:匿名使用者 #include using namespace std; class cmatrix23 }return tmp; }ostream& operator << ( ostream& os,const cmatrix23& mat ) }return is; }int main() 請輸入第0行第0列的元素:23 請輸入第0行第1列的元素:45 請輸入第0行第2列的元素:2 請輸入第1行第0列的元素:45 請輸入第1行第1列的元素:67 請輸入第1行第2列的元素:4 23 45 2 45 67 4 請輸入第0行第0列的元素:2 請輸入第0行第1列的元素:4 請輸入第0行第2列的元素:2 請輸入第1行第0列的元素:1 請輸入第1行第1列的元素:4 請輸入第1行第2列的元素:5 2 4 2 1 4 5 25 49 4 46 71 9 請按任意鍵繼續. . . 4樓:匿名使用者 一樓答案很規範,聽一樓的。 5樓:匿名使用者 四樓回答很詳細啊,, 其實第一個回答的程式已經ok了,這裡簡要說明一下 首先,名稱空間的問題。cout endl以及ostream都是定義在std這個名稱空間下的,因此在使用前必須包含這個一個using指示 using namespace std 表明可以使用std裡面的所有內容。除此以外還有兩種選擇 1.使用作用域運算... 其實很簡單,只要你對類的建構函式和解構函式了解的差不多。首先說第一個問題 為什麼會突然出現 string t p 在函式 string operator const char p 中,它接受一個字元指標p,返回一個string類物件,這個你懂吧?這就好辦了,這個函式想返回一個string類物件,必須... 運算子過載是一種特殊的函式過載。例如int a,b 則求a b值時,在編譯過程中使用的是函式呼叫 opertor a,b 主要作用就是使程式更加簡潔,減少程式設計時間。運算子過載是一種特殊的函式過載。c 的一大特性就是過載 overload 通過過載可以把功能相似的幾個函式合為一個,使得程式更加簡潔...c 運算子過載,c 運算子過載
C 運算子過載
c中運算子過載到底有什麼何意義,C中運算子過載到底有什麼何意義