C++程序設計運算符重載實驗報告_第1頁
C++程序設計運算符重載實驗報告_第2頁
C++程序設計運算符重載實驗報告_第3頁
C++程序設計運算符重載實驗報告_第4頁
C++程序設計運算符重載實驗報告_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、專業(yè)課程實驗報告課程名稱:面向對象程序設計(C+開課學期:2015至2016 學年 第1 學期專業(yè):計算機科學與技術年級班級:13計科學生姓名:侯瑄學號:2陳睿實驗教師:計算機與信息科學學院軟件學院實驗項目名稱實驗時間C+程序設計運算符重載巨驗類型2015.10.25驗證性 設計性 綜合性、實驗目的和要求(1) 掌握通過運算符重載實現(xiàn)多態(tài)性的方法;(2) 學會運算符重載的成員函數(shù)法和友元函數(shù)法;(3) 能區(qū)分單目運算符的前置與后置。二、實驗內容與設計(主要內容,操作步驟、算法描述或程序代碼) 本次實驗主要實現(xiàn)以下內容: 【項目內容】? 定義一個復數(shù)類使之能用于復數(shù)的加、 類的成員函數(shù)。編程序,

2、Complex,重載運算符“+”,“-”,“*+” “ - ”“ >”“<”, 減、乘、除、自增、自減、比較大小。運算符重載函數(shù)作為 Complex 分別求兩個復數(shù)之和、差、積、商、自增、自減、比較大小。提示:注意復數(shù)的乘、除法計算。Ps:同時注意復數(shù)的顯示。程序設計如下:(基于VS2010運行)II redow n.cpp :定義控制臺應用程序的入口點。#i nclude "stdafx.h"#inelude <iostream>using namespacestd; class Comp lex private :double r, i;publ

3、ic :Comp lex ( double R=0, double I=0):r(R), i(I) ;Comp lex op erator +(Co mp lex b);IIL1復數(shù)加法Comp lex op erator -(Co mp lex b);IIL2復數(shù)減法friendComplex operator *(Complex a,Complex b);IIL3復數(shù)乘法friendComplex operator I(Complex a,Complex b);IIL4復數(shù)除法frie ndComp lex op erator -(Co mp lex a);IIL5復數(shù)自減frie ndC

4、omp lex op erator +(Co mp lex a);IIL6復數(shù)自增frie ndbool operator >(Complex a,Complex b);IIL7復數(shù)的比較frie ndbool operator <(Complex a,Complex b);voiddisp lay();/重載+ andComp lex Comp lex:Comp lex Comp lex:II重載*op eratorop erator+(Co mp lex b) retur n Comp lex(葉b.r,i+b.i);-(Complex b) return Complex(r-

5、b.r,i-b.i);Complex op eratorComp lex t;t.r=a.r*b.r-a.i*b.i;t.i=b.r*b.i+b.i*b.r;*(Com plex a,Co mp lex b)return t;II重載IComplex operator /(Complex a,Complex b) Comp lex t;double x;x=1/(b.r*b.r+b.i*b.i);t.r=x*(a.r*b.r+a.i*b.i);t.i=x*(a.i*b.r-a.r*b.i);return t;/重載Complex operator -(Complex a)Comp lex t;

6、Comp lex y(1,1);t = a - y; return t;/重載+Complex op erator +(Co mplex a) Comp lex t;Comp lex y(1,1);t = a + y; return t;/重載>bool operator >(Complex a,Complex b) Comp lex t;t = a-b;if (t.r>0)&&(t.i>0) return 1;elsereturn 0;/重載<bool operator <(Complex a,Complex b) Comp lex t;t

7、 = a-b;if (t.r<0)&&(t.i<0)return 1;elsereturn 0;/定義復數(shù)的顯示voidComp lex:dis play() cout<<r;if (i>0) cout<< "+"if (i!=0) cout<<i<<"i" <<endl; voidmain( void ) Comp lex c1(1,2),c2(3,4),c3,c4,c5,c6,c7,c8; c3=c1+c2;c4=c1-c2;c5=c1*c2;c6=c1/c

8、2;c7=c2+;c8=c2-;cout<< "c1的數(shù)值為"cl.dis playO; cout<< "c2的數(shù)值為"c2.dis playO; cout<< "c3=c1+c2, c3.dis playO;cout<< "c4=c1-c2, c4.dis playO;cout<< "c5=c1*c2.所以c3的數(shù)值為所以c4的數(shù)值為所以C5的數(shù)值為所以c6的數(shù)值為c5.dis playO; coutvv "c6=c1/c2.c6.dis playO;c

9、out<< "c7=c2+,所以 c7的數(shù)值為"c7.dis playO;coutvv "c8=c2-,所以 c8的數(shù)值為"c8.dis playO;cout<<"比較 c8>c7?"cout<< (c8>c7? "ture" : "false");coutvv "n"cout<< "比較 c8vc7?"coutvv (c8vc7? "ture" : "false");system("pause");三、測試數(shù)據和執(zhí)行結果(在給定數(shù)據下,執(zhí)行操作、算法和程序的結果,可使用數(shù)據、圖表、截圖等給出)程序運行如圖:四、實驗結果分析及總結(對實驗的結果是否達到預期進行分析,總結實驗 的收獲和存在的問題等)通過此次實驗我對于運算符的重載有了一定的了解認識和掌握,對于友元,二元,一 元,特殊等運算符也有了清楚的認知,同時明白了這些運算符應該如何重載以及不能重 載的運算符有.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論