第九周实验报告一
来源:互联网 发布:软件冲突蓝屏怎么办 编辑:程序博客网 时间:2024/06/05 02:51
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者: 鲍增凯
* 完成日期: 2012 年 5 月 7 日
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者: 鲍增凯
* 完成日期: 2012 年 5 月 7 日
* 版 本 号:
01.#include <iostream> 02.using namespace std; 03.class Complex 04.{ 05.public: 06. Complex(){real=0;imag=0;} 07. 08. Complex(double r,double i){real=r;imag=i;} 09. 10. 11. friend Complex operator+(Complex &c1,Complex &c2); 12. 13. friend Complex operator-(Complex &c1,Complex &c2); 14. 15. friend Complex operator*(Complex &c1,Complex &c2); 16. 17. friend Complex operator/(Complex &c1,Complex &c2); 18. 19. 20. friend Complex operator+(Complex &c1,double d); 21. 22. friend Complex operator+(double d,Complex &c1); 23. 24. friend Complex operator-(Complex &c1,double d); 25. 26. friend Complex operator-(double d,Complex &c1); 27. 28. friend Complex operator*(Complex &c1,double d); 29. 30. friend Complex operator*(double d,Complex &c1); 31. 32. friend Complex operator/(Complex &c1,double d); 33. 34. friend Complex operator/(double d,Complex &c1); 35. 36. 37. Complex operator-(); 38. 39. void display(); 40. 41. friend ostream & operator <<(ostream &,Complex &); //友元函数声明输出流 42. 43. friend istream & operator >>(istream &,Complex &); //友元函数声明输入流 44.private: 45. double real; 46. double imag; 47.}; 48.//下面定义成员函数 49.Complex operator+(Complex &c1,Complex &c2) 50.{ 51. return Complex(c1.real+c2.real,c1.imag+c2.imag); 52.} 53. 54.Complex operator-(Complex &c1,Complex &c2) 55.{ 56. return Complex(c1.real-c2.real,c1.imag-c2.imag); 57.} 58. 59.Complex operator*(Complex &c1,Complex &c2) 60.{ 61. Complex c; 62. c.real=c1.real*c2.real-c1.imag*c2.imag; 63. c.imag=c1.real*c2.imag-c1.imag*c2.real; 64. return c; 65.} 66. 67.Complex operator/(Complex &c1,Complex &c2) 68.{ 69. Complex c; 70. c.real=(c1.real*c2.real+c1.imag*c2.imag)/(c2.imag*c2.imag+c2.real*c2.real); 71. c.imag=(c1.imag*c2.real-c1.real*c2.imag)/(c2.imag*c2.imag+c2.real*c2.real); 72. return c; 73.} 74. 75.Complex operator+(Complex &c1,double d) 76.{ 77. return Complex(c1.real+d,c1.imag); 78.} 79. 80.Complex operator+(double d,Complex &c1) 81.{ 82. return Complex(c1.real+d,c1.imag); 83.} 84. 85. Complex operator-(Complex &c1,double d) 86. { 87. return Complex(c1.real-d,c1.imag); 88. } 89. 90. Complex operator-(double d,Complex &c1) 91.{ 92. return Complex(c1.real-d,c1.imag); 93. } 94. 95. Complex operator*(Complex &c1,double d) 96. { 97. return Complex(c1.real*d,c1.imag*d); 98. } 99. 100. Complex operator*(double d,Complex &c1) 101. { 102. return Complex(c1.real*d,c1.imag*d); 103. } 104. 105. Complex operator/(Complex &c1,double d) 106. { 107. return Complex(c1.real/d,c1.imag/d); 108. } 109. 110. Complex operator/(double d,Complex &c1) 111. { 112. return Complex(c1.real/d,c1.imag/d); 113. } 114. 115. Complex Complex:: operator-() 116. { 117. return Complex(-real,-imag); 118. } 119. 120. 121. 122. ostream & operator <<(ostream & output,Complex &c) 123. { 124. output<<"("<<c.real; 125. if(c.imag>=0)output<<"+"; 126. output<<c.imag<<"i)"<<endl; 127. return output; 128. } 129. 130. istream & operator >>(istream & input,Complex &c) 131. { 132. cout<<"请输入:"<<endl; 133. input>>c.real>>c.imag; 134. 135. return input; 136. } 137. 138.int main() 139.{ 140. Complex c1,c2,c3; 141. double d=3; 142. cin>>c1; 143. cout<<"c1="<<c1<<endl; 144. 145. cin>>c2; 146. cout<<"c2="<<c2<<endl; 147. 148. c3=c1+c2; 149. cout<<"c1+c2="<<c3<<endl; 150. 151. c3=c1-c2; 152. cout<<"c1-c2="<<c3<<endl; 153. 154. c3=c1*c2; 155. cout<<"c1*c2="<<c3<<endl; 156. 157. c3=c1/c2; 158. cout<<"c1/c2="<<c3<<endl; 159. 160. c3=c1+d; 161. cout<<"c1+d="<<c3<<endl; 162. 163. c3=d+c1; 164. cout<<"d+c1="<<c3<<endl; 165. 166. c3=c1-d; 167. cout<<"c1-d="<<c3<<endl; 168. 169. c3=d-c1; 170. cout<<"d-c1="<<c3<<endl; 171. 172. c3=c1*d; 173. cout<<"c1*d="<<c3<<endl; 174. 175. c3=d*c1; 176. cout<<"d*c1="<<c3<<endl; 177. 178. c3=c1/d; 179. cout<<"c1/d="<<c3<<endl; 180. 181. c3=d/c1; 182. cout<<"d/c1="<<c3<<endl; 183. 184. c3=-c1; 185. cout<<"-c1="<<c3<<endl; 186. 187. c3=-c2; 188. cout<<"-c2="<<c3<<endl; 189. 190. system("pause"); 191. return 0; 192.}
- 第九周实验报告一
- 第九周实验报告一
- 第九周实验报告一
- 第九周实验报告(一)
- 第九周实验报告 任务一
- 第九周实验报告(一)
- 第九周实验报告(一)
- 第九周C++实验报告(一)
- 第九实验报告任务一
- 第九周实验报告
- 第九周实验报告
- C++ 第九周实验报告
- 第九周实验报告1
- 第九周实验报告2
- 第九周实验报告1
- 第九周实验报告2
- C++第九周实验报告
- C++第九周实验报告
- 使用URLLoader需要注意的
- 第十二周上机任务1
- nginx整合php自动启动脚本
- 第十二周实验报告(2)
- android-bluetooth移植碰到的问题
- 第九周实验报告一
- oracle 查询数据
- sybase数据库中identity指定值
- STL
- jquery下拉选择效果
- 十二周任务2 分别定义Teacher(教师)类和Cadre(干部)类
- 第十二周实验报告2
- RAID技术全程指南
- 第九周实验报告二