日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++ 复数类加减法运算重载为成员函数形式

發布時間:2025/5/22 c/c++ 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ 复数类加减法运算重载为成员函数形式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

運算符的重載形式有兩種,即重載為類的非靜態成員函數和重載為非成員函數。運算符重載為類的成員函數的一般語法形式為:

返回類型 operator 運算符(形參表){函數體 }

運算符重載為非成員函數的一般語法形式為:

返回類型 operator 運算符(形參表){函數體 } #include <iostream>using namespace std;class Complex{ // 復數類定義 private:double real; // 復數實部 double imag; // 復數虛部 public:Complex(double r = 0.0, double i = 0.0) : real(r), imag(i){} // 構造函數 Complex operator+(const Complex &c2) const; // 運算符 + 重載成員函數 Complex operator-(const Complex &c2) const; // 運算符 - 重載成員函數 void display() const; // 輸出復數 };Complex Complex::operator+(const Complex &c2) const{ // 重載運算符函數實現 return Complex(real + c2.real, imag + c2.imag); // 創建一個臨時無名對象作為返回值 }Complex Complex::operator-(const Complex &c2) const{ // 重載運算符函數實現 return Complex(real - c2.real, imag - c2.imag); // 創建一個臨時無名對象作為返回值 } void Complex::display() const{cout << "(" << real << "," << imag << ")" << endl; }int main(){Complex *complex1 = new Complex(5, 4); // 定義復數類的對象 Complex *complex2 = new Complex(2, 10);Complex *complex3 = new Complex();cout << "complex1 = ";complex1 -> display();cout << "complex2 = ";complex2 -> display();*complex3 = *complex1 - *complex2; // 使用重載運算符完成復數減法 cout << "complex3 = complex1 - complex2 =";complex3 -> display();*complex3 = *complex1 + *complex2; // 使用重載運算符完成復數加法 cout << "complex3 = complex1 + complex2 =";complex3 -> display();delete complex3;delete complex2;delete complex1;return 0; }

調用Complex構造函數創建一個臨時對象并返回它。

Complex Complex::operator+(const Complex &c2) const{ // 重載運算符函數實現 return Complex(real + c2.real, imag + c2.imag); // 創建一個臨時無名對象作為返回值 }Complex Complex::operator-(const Complex &c2) const{ // 重載運算符函數實現 return Complex(real - c2.real, imag - c2.imag); // 創建一個臨時無名對象作為返回值 }

也可以改寫成如下形式返回函數值:

Complex Complex::operator+(const Complex &c2) const{ // 重載運算符函數實現 Complex complex(real + c2.real, imag + c2.imag); // 創建一個臨時無名對象作為返回值 return complex; } Complex Complex::operator-(const Complex &c2) const{ // 重載運算符函數實現 Complex complex(real - c2.real, imag - c2.imag); // 創建一個臨時無名對象作為返回值return complex; }

以非成員函數形式重載Complex的加減法運算和“<<”運算符

#include <iostream>using namespace std;class Complex{ // 復數類定義 private:double real; // 復數實部 double imag; // 復數虛部 public:Complex(double r = 0.0, double i = 0.0) : real(r), imag(i){} // 構造函數 friend Complex operator+(const Complex &c1, const Complex &c2); // 運算符 + 重載成員函數 friend Complex operator-(const Complex &c1,const Complex &c2); // 運算符 - 重載成員函數 friend ostream & operator << (ostream & out, const Complex & c); // 運算符 << 重載 };Complex operator+(const Complex &c1, const Complex &c2) { // 重載運算符函數實現 Complex complex(c1.real + c2.real, c1.imag + c2.imag); // 創建一個臨時無名對象作為返回值 return complex; }Complex operator-(const Complex &c1, const Complex &c2) { // 重載運算符函數實現 Complex complex(c1.real - c2.real, c1.imag - c2.imag); // 創建一個臨時無名對象作為返回值return complex; } ostream & operator << (ostream &out, const Complex &c){out << "(" << c.real << "," << c.imag << ")" << endl;return out; }int main(){Complex *complex1 = new Complex(5, 4); // 定義復數類的對象 Complex *complex2 = new Complex(2, 10);Complex *complex3 = new Complex();cout << "*complex1 = " << *complex1 << endl;cout << "*complex2 = " << *complex2 << endl;*complex3 = *complex1 - *complex2; // 使用重載運算符完成復數減法 cout << "*complex3 = *complex1 - *complex2" << *complex3 << endl;*complex3 = *complex1 + *complex2; // 使用重載運算符完成復數加法 cout << "*complex3 = *complex1 + *complex2" << *complex3 << endl;delete complex3;delete complex2;delete complex1;return 0; }

總結

以上是生活随笔為你收集整理的C++ 复数类加减法运算重载为成员函数形式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 香蕉视频网站入口 | 国产一区二区在线视频 | 老外一级片 | 在线视频精品一区 | 欧美福利片在线观看 | 粉嫩在线 | av美女在线 | 精品人妻二区中文字幕 | 东方成人av在线 | 精品爆乳一区二区三区无码av | 一区二区三区有限公司 | 99国产精品一区二区 | 亚洲激情在线观看 | 国产成人精品一区二区三区网站观看 | 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 久久爱成人 | 黄91在线观看 | 欧美高清日韩 | 国产ts变态重口人妖hd | 一区二区三区国产精品视频 | 午夜一二区 | 色偷偷91 | 亚洲GV成人无码久久精品 | 国产一在线 | 热热久| 亚洲黄在线观看 | 中文字幕av高清 | 中文免费av | 97久久久久久久久久 | 成人在线激情视频 | 久久99伊人 | 就要操就要射 | 人成在线 | 日本裸体动漫 | 欧美10p| www.成人国产 | 国产精品久久久爽爽爽麻豆色哟哟 | 欧美人与性动交ccoo | 亚洲第一福利网站 | 欧美中文字幕 | 岛国av一区二区三区 | 日本高清在线一区 | 久久久久久九九 | 色综合久久网 | 精品一区二区三区无码按摩 | 欧美精品在线一区二区 | 欧美日韩黄色 | 亚洲综合在线成人 | 久热这里只有 | 超碰97在线免费 | 精品三级电影 | 黄色理伦 | 亚洲一区二区三区久久久成人动漫 | 香蕉视频久久久 | 91爱爱.com | 99re中文字幕 | 日韩成人一区二区 | 国产成人啪免费观看软件 | 国产伦精品一区二区三区妓女 | 欧美国产日韩在线观看 | 精品三级在线 | 动漫涩涩免费网站在线看 | 网址在线观看你懂的 | 香蕉久久国产av一区二区 | 日日舔夜夜摸 | 午夜老湿机 | 又粗又猛又爽又黄的视频 | 日日摸日日碰夜夜爽av | 九九久久国产精品 | 国产精品无人区 | 国产成人在线一区二区 | 尤物在线免费观看 | 丁香花电影高清在线阅读免费 | 欧美激情视频一区 | 性欧美高清 | 欧美我不卡 | 欧美亚洲综合在线 | 99re在线播放 | 黄色片链接 | 亚洲射情| 久久久久午夜 | 超碰2021| 日批免费看 | 中文字幕亚洲精品在线 | 三级a毛片 | 中文字幕一区二区三区在线观看 | 国产精品第六页 | av一区二区在线观看 | 久久久国产一区二区三区 | 亚洲av人人夜夜澡人人 | 久久天堂视频 | 神马久久久久久久 | 自拍偷拍 亚洲 | 国产精品福利在线观看 | 天天干天天草天天射 | www.四虎影视.com| 国产精品一二三 | 日韩三级久久 | 亚洲爆乳无码一区二区三区 |