《面向?qū)ο蟪绦蛟O(shè)計》實驗冊
《《面向?qū)ο蟪绦蛟O(shè)計》實驗冊》由會員分享,可在線閱讀,更多相關(guān)《《面向?qū)ο蟪绦蛟O(shè)計》實驗冊(64頁珍藏版)》請在裝配圖網(wǎng)上搜索。
金陵科技學(xué)院實驗報告 學(xué) 生 實 驗 報 告 冊 理工類 課程名稱 面向?qū)ο蟪绦蛟O(shè)計 專業(yè)班級 13 計統(tǒng) 2 班 學(xué)生學(xué)號 1305103038 學(xué)生姓名 曹亞孟 金陵科技學(xué)院實驗報告 所屬院部 計算機工程學(xué)院 指導(dǎo)教師 吳剛 20 15 20 16 學(xué)年 第 一 學(xué)期 金陵科技學(xué)院教務(wù)處制 實驗報告書寫要求 實驗報告原則上要求學(xué)生手寫 要求書寫工整 若因課程特點 需打印的 要遵照以下字體 字號 間距等的具體要求 紙張一律 采用 A4 的紙張 實驗報告書寫說明 實驗報告中一至四項內(nèi)容為必填項 包括實驗?zāi)康暮鸵?實 驗儀器和設(shè)備 實驗內(nèi)容與過程 實驗結(jié)果與分析 各院部可根據(jù) 學(xué)科特點和實驗具體要求增加項目 填寫注意事項 1 細(xì)致觀察 及時 準(zhǔn)確 如實記錄 2 準(zhǔn)確說明 層次清晰 3 盡量采用專用術(shù)語來說明事物 4 外文 符號 公式要準(zhǔn)確 應(yīng)使用統(tǒng)一規(guī)定的名詞和符號 金陵科技學(xué)院實驗報告 5 應(yīng)獨立完成實驗報告的書寫 嚴(yán)禁抄襲 復(fù)印 一經(jīng)發(fā)現(xiàn) 以零分論處 實驗報告批改說明 實驗報告的批改要及時 認(rèn)真 仔細(xì) 一律用紅色筆批改 實 驗報告的批改成績采用百分制 具體評分標(biāo)準(zhǔn)由各院部自行制定 實驗報告裝訂要求 實驗批改完畢后 任課老師將每門課程的每個實驗項目的實驗 報告以自然班為單位 按學(xué)號升序排列 裝訂成冊 并附上一份該 門課程的實驗大綱 金陵科技學(xué)院實驗報告 實驗項目名稱 C 基礎(chǔ)程序設(shè)計 實驗學(xué)時 3 同組學(xué)生姓名 無 實驗地點 A107 實驗日期 9 18 實驗成績 批改教師 吳剛 批改時間 金陵科技學(xué)院實驗報告 一 實驗?zāi)康暮鸵?1 了解 Visual C 6 0 或者 Visual C 2005 以上版本的特點 2 學(xué)會 Visual C 6 0 或者 Visual C 2005 以上版本的開發(fā)環(huán)境 來創(chuàng)建和調(diào) 試標(biāo)準(zhǔn)的 C 控制后臺應(yīng)用程序 3 學(xué)會使用 Visual C 6 0 或者 Visual C 2005 以上版本的開發(fā)環(huán)境中的程序 調(diào)試功能 例如單步執(zhí)行 設(shè)置斷點 觀察變量值等 4 掌握 string 類型的用法 5 掌握 C 語言編程時輸入和輸出格式控制 6 掌握多文件結(jié)構(gòu)的使用 7 掌握重載函數(shù)的使用 二 實驗設(shè)備和環(huán)境 1 計算機每人一臺 2 安裝 WindowsXP 或者以上版本操作系統(tǒng) 3 安裝 Visual C 6 0 或者 Visual C 2005 以上版本 三 實驗內(nèi)容及步驟 1 給出 Visual C 調(diào)試一個簡單應(yīng)用程序的步驟 要求程序輸出字符串 Hello Welcome to C 程序 include using namespace std int main cout Hello endl 金陵科技學(xué)院實驗報告 cout Welcome to C endl return 0 運行結(jié)果 2 調(diào)試以下程序 觀察運行結(jié)果 include using namespace std void main int a b 10 int a 20 cout a endl cout ra endl cout cout ra b cout a endl cout ra endl cout b endl 金陵科技學(xué)院實驗報告 cout cout cout 運行結(jié)果及結(jié)果分析 3 編寫一程序 實現(xiàn)九九乘法表的 2 中格式輸出 格式如下 1 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 2 2 4 6 8 10 12 14 16 18 3 3 6 4 4 8 5 5 10 6 6 12 7 7 14 8 8 16 金陵科技學(xué)院實驗報告 9 9 18 2 1 2 3 4 5 6 7 8 9 1 1 2 2 4 3 3 6 9 4 4 8 12 16 5 5 10 15 20 25 6 6 12 18 24 30 36 7 7 14 21 28 35 42 49 8 8 16 24 32 40 48 56 64 9 9 18 27 36 45 54 63 72 81 注 要求每種輸出格式均寫成函數(shù)形式 程序 include using namespace std int main int i j cout 顯示 1 endl for i 1 i 10 i for j 1 j 10 j 金陵科技學(xué)院實驗報告 cout i j t cout endl cout endl 顯示 2 endl for i 1 i 10 i for j 1 j i j cout j i t cout endl return 0 運行結(jié)果 金陵科技學(xué)院實驗報告 4 將第 3 題改成多文件結(jié)構(gòu)實現(xiàn) 要求該工程中有 3 個 cpp 文件和 1 個 h 文 件 程序 h include using namespace std int cfb1 int x int y int cfb2 int x int y cpp 1 include 3head h void main int i j cout cfb1 i j endl 金陵科技學(xué)院實驗報告 cout cfb2 i j endl 2 include 3head h int cfb1 int i int j cout 顯示 1 endl for i 1 i 10 i for j 1 j 10 j cout i j t cout endl return 0 3 include 3head h int cfb2 int i int j cout 顯示 2 endl for i 1 i 10 i 金陵科技學(xué)院實驗報告 for j 1 j i j cout j i t cout endl return 0 5 編程實現(xiàn)比較兩個數(shù)的大小 求較大值 要求使用重載函數(shù)實現(xiàn) 程序 include using namespace std int max int a int b return a b a b int main int m n cout m n cout The bigger is max m n endl return 0 金陵科技學(xué)院實驗報告 運行結(jié)果 6 編寫一個程序 判斷一 個字符串是否為另一個字符串的子串 若是 返回字串在主串中的位置 要求 不適用 strstr 函數(shù) 自己編寫一個子函數(shù)實現(xiàn) 建議使用 string 類型 而非 字符數(shù)組 程序 include include string h using namespace std void main char a how are you char b are int i 0 j na nb flag na strlen a nb strlen b flag 1 for i 0 i 0 i if a i b j j 金陵科技學(xué)院實驗報告 運行結(jié)果 四 實驗體會 熟悉了 C 開發(fā)環(huán)境的使用 對 C 編程有了初步的了解 能夠編寫一些簡 單的和 C 類似的程序 實驗項目名稱 類與對象 實驗學(xué)時 3 同組學(xué)生姓名 無 實驗地點 A107 實驗日期 9 25 實驗成績 批改教師 吳剛 批改時間 金陵科技學(xué)院實驗報告 一 實驗?zāi)康暮鸵?1 掌握類和對象的概念 定義方法以及類與對象的簡單用法 2 掌握成員函數(shù)的實現(xiàn)與調(diào)用方法 3 深刻領(lǐng)會類與對象的區(qū)別 4 理解類實現(xiàn)數(shù)據(jù)隱藏和封裝的原理 5 掌握構(gòu)造函數(shù) 拷貝構(gòu)造函數(shù) 分析構(gòu)造函數(shù)的定義和使用 尤其注意組合 類中它們的調(diào)用順序 二 實驗設(shè)備和環(huán)境 1 計算機每人一臺 2 安裝 WindowsXP 或者以上版本操作系統(tǒng) 3 安裝 Visual C 6 0 或者 Visual C 2005 以上版本 三 實驗內(nèi)容及步驟 1 用面向?qū)ο蟮某绦蛟O(shè)計方法實現(xiàn)棧的操作 棧又叫堆棧 是一個常用的數(shù)據(jù) 結(jié)構(gòu) 它是一種運算受限的線性表 僅允許在表的一端進行插入和刪除運算 是一種后進先出表 提示 棧用一維整型數(shù)組來表示 棧的大小定義為 10 棧定義為一個類 stack 實現(xiàn)棧的創(chuàng)建 進棧和出棧 棧的消亡 進棧函數(shù) void push int n 出棧函數(shù) int pop void 程序 include using namespace std const int maxsize 10 class stack 金陵科技學(xué)院實驗報告 public void init top 1 void push int n int pop void dead private int top int data maxsize void stack push int n if top maxsize cout 棧已滿 endl else top data top n int stack pop 金陵科技學(xué)院實驗報告 if top 0 cout 棧下溢 endl return 0 else top return data top 1 void stack dead if top 0 cout 棧下溢 endl else top cout 棧中還剩 top 1 個元素 endl int main 金陵科技學(xué)院實驗報告 stack seqstack int i x m seqstack init cout 請輸入 10 個數(shù)字 for i 0 i x seqstack push x cout 請輸入你所需要的操作 endl cout 1 元素出棧 endl cout 2 棧的消亡 m switch m case 1 for i 0 i maxsize i cout seqstack pop break case 2 for i 0 i maxsize i 金陵科技學(xué)院實驗報告 seqstack dead break return 0 運行結(jié)果 2 將第 1 題中的實驗內(nèi)容改為多文件結(jié)構(gòu)實現(xiàn) 程序 include using namespace std define N 10 class stack static int top int a N public void push int n void pop void die 金陵科技學(xué)院實驗報告 include int stack top 0 void stack push int n if top N a top n cout 進棧數(shù)據(jù) n endl else cout 堆棧已經(jīng)滿了 不能再加數(shù)進去了 endl void stack pop if top 0 cout 堆棧已經(jīng)空了 沒有數(shù)據(jù)了 endl else cout 出棧數(shù)據(jù) cout a top endl void stack die 金陵科技學(xué)院實驗報告 int i for i 0 i N i a i 0 cout 消亡堆棧 endl include head h void main int n m cout n m stack s s push n s push m s pop s pop s pop s die 3 設(shè)計一個用于人事管理的 People 人員 類 考慮到通用性 這里只抽象出 所有類型人員都具有的屬性 number 編號 sex 性別 birthday 出生日 期 id 身份證號 等 其中 出生日期 聲明為一個 日期 類內(nèi)嵌子對象 用成員函數(shù)實現(xiàn)對人員信息的錄入和顯示 要求包括 構(gòu)造函數(shù)和折構(gòu)函數(shù) 拷貝構(gòu)造函數(shù) 內(nèi)聯(lián)成員函數(shù) 組合類等 金陵科技學(xué)院實驗報告 程序 include include using namespace std class Date private int year int month int day public Date Date int y int m int d year y month m day d void set cin year month day void display cout year 年 month 月 day 日 金陵科技學(xué)院實驗報告 class Person private int num char sex Date birthday char ID 18 public Person Person int n int y int m int d char id 18 char s m birthday y m d num n sex s strcpy ID id Person Person sex p sex birthday p birthday strcpy ID p ID void input cout 錄入數(shù)據(jù) endl cout num 金陵科技學(xué)院實驗報告 cout sex cout 生日 birthday set cout ID ID 18 0 cout endl void output cout 編號 num endl cout 性別 sex endl cout 生日 birthday display cout endl cout 身份證號 ID endl Person cout num 號人員已經(jīng)錄入 endl int main Person p1 金陵科技學(xué)院實驗報告 p1 input p1 output return 0 運行結(jié)果 4 設(shè)計一個計算薪水的類 Payroll 它的數(shù)據(jù)成員包括 單位小時的工資 已 經(jīng)工作的小時數(shù) 本周應(yīng)付工資數(shù) 在主函數(shù)定義一個具有 10 個元素的對象數(shù) 組 代表 10 個雇員 可以定義普通對象數(shù)組 也可以定義堆對象數(shù)組 程序 詢問每個雇員本周已經(jīng)工作的小時數(shù) 然后顯示應(yīng)得的工資 要求 輸入有效 性檢驗 每個雇員每周工作的小時數(shù)不能大于 60 同時也不能為負(fù)數(shù) 程序 include include class Payroll 金陵科技學(xué)院實驗報告 private double money double total public int time int GetTime do printf input time scanf d while time60 money 100 return 0 int GetTotalMoney return total time money void Print printf total lf n total 金陵科技學(xué)院實驗報告 main Payroll p 10 p 0 GetTime p 0 GetTotalMoney p 0 Print 運行結(jié)果 四 實驗體會 對多文件有了更深了解 能夠熟練的掌握多文件的使用方法 學(xué)習(xí)了 C 的構(gòu)造函數(shù) 以及拷貝構(gòu)造函數(shù) 接觸友元組合類等新知識 需要課后多加練 習(xí) 金陵科技學(xué)院實驗報告 實驗項目名稱 靜態(tài)成員與友元 實驗學(xué)時 3 同組學(xué)生姓名 無 實驗地點 A107 實驗日期 10 09 實驗成績 批改教師 吳剛 批改時間 金陵科技學(xué)院實驗報告 一 實驗?zāi)康暮鸵?1 掌握類中靜態(tài)成員的定義的方法 2 掌握靜態(tài)數(shù)據(jù)成員初始化的方法 3 掌握靜態(tài)數(shù)據(jù)成員和數(shù)據(jù)函數(shù)成員的訪問和使用方法 4 掌握友元函數(shù)的定義和使用方法 5 了解友元類的使用方法 二 實驗設(shè)備和環(huán)境 1 計算機每人一臺 2 安裝 WindowsXP 或者以上版本操作系統(tǒng) 3 安裝 Visual C 6 0 或者 Visual C 2005 以上版本 三 實驗內(nèi)容及步驟 1 任意輸入 10 個數(shù) 計算器總和及平均值 設(shè)計程序測試該功能 要求用類 靜態(tài)友員實現(xiàn) 程序 include include using namespace std class number int No int figure static double sum static int sumpeople 金陵科技學(xué)院實驗報告 public number int n int ifigure No n figure ifigure sum figure sumpeople static int Sum return sum static double Average return sum sumpeople int number sumpeople 0 double number sum 0 void main int i j cout The ten number is endl for i 1 i j number i j cout The sum is number Sum endl cout The average is number Average endl 運行結(jié)果 2 求兩點之間的距離 要求定義點 Point 類 并用友員函數(shù)實現(xiàn) 程序 include include using namespace std class Point double x y public Point double m double n x m y n friend double Distance Point double Distance Point d sqrt px x py x px x py x px y py y px y py y return d void main Point p1 p2 int a1 b1 a2 b2 cin a1 b1 a2 b2 p1 Point a1 b1 p2 Point a2 b2 cout the distance is Distance p1 p2 endl 運行結(jié)果 3 定義一個經(jīng)理類 Manager 其成員數(shù)據(jù)包括編號 id 姓名 name 和年齡 age 均聲明為 private 訪問屬性 再定義一個員工類 Employee 其成員數(shù)據(jù)及訪問 屬性與經(jīng)理類相同 將 Manager 類聲明為 Employee 類的友員函數(shù) 并在 Manager 類中定義一個函數(shù)訪問 Employee 類的私有數(shù)據(jù)成員并進行輸出 程序 include include 金陵科技學(xué)院實驗報告 using namespace std class Employee friend class Manager private int id char n int age public Employee id 1 n abc age 20 class Manager private int id char name 10 int age public Manager 金陵科技學(xué)院實驗報告 Employee e void Print Employee cout e n endl cout e age endl void main Employee e Manager m m Print e system pause 運行結(jié)果 四 實驗體會 懂得了靜態(tài)成員的使用 靜態(tài)成員的作用域和使用方法 理解并掌握友元 金陵科技學(xué)院實驗報告 的使用 金陵科技學(xué)院實驗報告 實驗項目名稱 繼承與派生 實驗學(xué)時 3 同組學(xué)生姓名 無 實驗地點 A107 實驗日期 10 16 實驗成績 批改教師 吳剛 批改時間 金陵科技學(xué)院實驗報告 一 實驗?zāi)康暮鸵?1 掌握利用單繼承和多重繼承的方式定義派生類的方法 2 理解在各種繼承方式下構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行順序 3 理解和掌握 public protected private 對基類成員的訪問機制 4 理解虛基類的概念 引入虛基類的目的和作用 5 理解在虛基類時的構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行順序 二 實驗設(shè)備和環(huán)境 1 計算機每人一臺 2 安裝 WindowsXP 或者以上版本操作系統(tǒng) 3 安裝 Visual C 6 0 或者 Visual C 2005 以上版本 三 實驗內(nèi)容及步驟 1 分析以下程序 寫出運行結(jié)果 include using namespace std class Base public Base cout 執(zhí)行基類構(gòu)造函數(shù) endl Base cout 執(zhí)行基類折構(gòu)函數(shù) endl class Derive public Base public 金陵科技學(xué)院實驗報告 Derive cout 執(zhí)行派生類構(gòu)造函數(shù) endl Derive cout 執(zhí)行派生類折構(gòu)函數(shù) endl void main Derive d 運行結(jié)果 2 分析以下程序 寫出運行結(jié)果 include calss Base public Base cout 基類構(gòu)造函數(shù) endl Base cout 基類析構(gòu)函數(shù) endl class Derive public Base public 金陵科技學(xué)院實驗報告 Derive cout 派生類構(gòu)造函數(shù) endl Derive cout 派生類析構(gòu)函數(shù) endl void main Derive p new Derive Delete p 運行結(jié)果 3 求一個三角形物體的面積 同時求一個圓形物體的面積 要求使用繼承 include include using namespace std class Object public void getData cout x y z 金陵科技學(xué)院實驗報告 protected int x y z class Triangle public Object public void getData cout triangle Object getData double Area double d x y z 2 double s sqrt d d x d y d z return s class Circle public Object public void getData cout circle only radius x endl Object getData 金陵科技學(xué)院實驗報告 double Area double s x x 3 1415 return s void main Triangle t t getData cout The results t Area endl Circle c c getData cout The results c Area endl 運行結(jié)果 4 一個三口之家 大家知道父親會開車 母親會唱歌 但其父親還會修電視機 只有家里人知道 小孩既會開車又會唱歌 甚至也會修電視機 母親瞞著任何 人在外面做小工以補貼家用 此外小孩還會打乒乓球 編寫程序輸出者三口之家一天從事的活動 先是父親出去開車 然后母親出去 工作 唱歌 母親下班后去做兩個小時的小工 小孩在俱樂部打球 在父親回 金陵科技學(xué)院實驗報告 家后 開車玩 后又高興地唱歌 晚上 小孩和父親一起修電視機 程序 include using namespace std class father protected void repairTV cout Repairing TV endl public void drive cout Father is driving endl friend main class mother void dootherJob cout Mother is doing other job public virtual void sing cout Mother is singing songs endl friend main class child public father public mother public void drive cout Child is driving endl void sing cout Child is singing endl void repair cout Child is repairing tv endl 金陵科技學(xué)院實驗報告 void playingPingPang cout Child is playing pingpang int main cout main endl father f mother m child c f drive m sing m dootherJob c playingPingPang c drive c sing f repairTV c repair return 0 運行結(jié)果 金陵科技學(xué)院實驗報告 5 設(shè)計定義一個哺乳動物類 Mammal 再由此派生出狗類 Dog 和豬類 Pig 從狗 類 Dog 和豬類 Pig 又派生出 PigDog 類 定義一個 PigDog 類的對象 觀察基類 與各派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序 程序 include using namespace std class Mammal public Mammal cout 調(diào)用 mammal 構(gòu)造函數(shù) endl Mammal cout 調(diào)用 mammal 析構(gòu)函數(shù) endl class Dog public Mammal public Dog cout 調(diào)用 dog 構(gòu)造函數(shù) endl Dog cout 調(diào)用 dog 析構(gòu)函數(shù) endl class Pig public Mammal public Pig cout 調(diào)用 pig 構(gòu)造函數(shù) endl Pig cout 調(diào)用 pig 析構(gòu)函數(shù) endl class PigDog public Dog public Pig 金陵科技學(xué)院實驗報告 public PigDog cout 調(diào)用 pigdog 構(gòu)造函數(shù) endl PigDog cout 調(diào)用 pigdog 析構(gòu)函數(shù) endl void main Mammal m Dog d Pig p PigDog pd 運行結(jié)果 金陵科技學(xué)院實驗報告 四 實驗體會 本次實驗學(xué)習(xí)了繼承和派生 對于其使用以及理解有點困難 金陵科技學(xué)院實驗報告 實驗項目名稱 多態(tài)性 實驗學(xué)時 3 同組學(xué)生姓名 無 實驗地點 A107 實驗日期 10 23 實驗成績 批改教師 吳剛 批改時間 金陵科技學(xué)院實驗報告 一 實驗?zāi)康暮鸵?1 加深理解繼承和多繼承的概念 應(yīng)用等 2 掌握虛函數(shù)的定義方法 以及在實現(xiàn)多態(tài)性中的作用 理解掌握實現(xiàn)動態(tài)多 態(tài)性的前提條件 理解靜態(tài)多態(tài)性和動態(tài)多態(tài)性的區(qū)別 3 理解運算符重載的概念和實質(zhì) 掌握預(yù)案算重載函數(shù)的定義方法 掌握運算 符重載為類的成員函數(shù)和友元函數(shù)的方法 掌握幾種常用運算符的重載 用來 解決函數(shù) 二 實驗設(shè)備和環(huán)境 1 計算機每人一臺 2 安裝 WindowsXP 或者以上版本操作系統(tǒng) 3 安裝 Visual C 6 0 或者 Visual C 2005 以上版本 三 實驗內(nèi)容及步驟 1 利用虛函數(shù)實現(xiàn)的多態(tài)性來求四種幾何圖形的面積 這四種幾何圖形是 三 角形 矩形 正方形和圓 程序 include define PI 3 1415926 using namespace std class Area double x y public Area double x double y int z x x y y if z 0 金陵科技學(xué)院實驗報告 cout 三角形的面積為 x y 2 endl else if z 1 cout 矩形面積為 x y endl Area double x int z x x if z 0 cout 正方形的面積為 x x endl else if z 1 cout 圓的面積為 PI x x endl void main Area a 3 4 0 Area b 3 4 1 Area c 5 0 Area d 5 1 運行結(jié)果 2 聲明 Point 類 有坐標(biāo) x y 兩個成員變量 對 Point 類重載 自增 自減 運算符 實現(xiàn)對坐標(biāo)值的改變 金陵科技學(xué)院實驗報告 程序 include using namespace std class Point double x y public Point Point y point y Point double x double y x x y y void operator cout 原來的值為 x endl x x 2 cout 改過后的值為 x endl double getx return x double gety return y void main double x y 金陵科技學(xué)院實驗報告 Point p 1 2 p operator 運行結(jié)果 3 定義一個復(fù)數(shù)類 通過重載運算符 直接實現(xiàn)兩個復(fù)數(shù)之間的乘除運 算 編寫一個完整的程序 測試重載運算符的正確性 要求乘法 用友元函 數(shù)實現(xiàn)重載 除法 用成員函數(shù)實現(xiàn)重載 程序 include using namespace std class Complex double r v public Complex Complex v c v Complex double r 0 double v 0 r r v v void operator Complex c void show 金陵科技學(xué)院實驗報告 cout r 0 v i endl friend Complex operator Complex a Complex b friend Complex operator Complex a double r Complex operator Complex a double getr return r double fetv return v void Complex operator Complex c r c r v c v Complex operator Complex double av a fetv double br b getr double bv b fetv Complex c ar br av bv av bv return c Complex operator Complex a double r double ar a getr 金陵科技學(xué)院實驗報告 double av a fetv Complex c ar r av cout 的結(jié)果為 return c Complex Complex operator Complex a Complex c a r r a v v a r a r a v a v a v a r a r a v a v cout 的結(jié)果為 return c void main Complex a 2 2 b 3 4 test test a b test show test a b test show 運行結(jié)果 4 在第 3 題基礎(chǔ)上 增加重載函數(shù)的加法和減法運算符的功能 實現(xiàn)兩個復(fù)數(shù) 的加法 一個復(fù)數(shù)和一個實數(shù)的加法 兩個復(fù)數(shù)的減法 一個復(fù)數(shù)與一個實數(shù) 金陵科技學(xué)院實驗報告 的減法 用成員函數(shù)實現(xiàn)加法運算符的重載 用友元函數(shù)實現(xiàn)減法運算符的重 載 要求 自己設(shè)計主函數(shù) 完成程序的調(diào)試工作 程序 include using namespace std class Complex double r v public Complex Complex v c v Complex double r 0 double v 0 r r v v void operator Complex c void show cout r 0 v i endl friend Complex operator Complex a Complex b friend Complex operator Complex a Complex b friend Complex operator Complex a double r Complex operator Complex a 金陵科技學(xué)院實驗報告 Complex operator Complex a Complex operator double a double getr return r double fetv return v void Complex operator Complex c r c r v c v Complex operator Complex a Complex b double ar a getr double av a fetv double br b getr double bv b fetv Complex c ar br av bv av bv cout 友元函數(shù)實現(xiàn)與復(fù)數(shù)的乘法 return c Complex Complex operator Complex a Complex c a r r a v v a r a r a v a v a v v a r a r a v a v cout 成員函數(shù)實現(xiàn)與復(fù)數(shù)的除法 金陵科技學(xué)院實驗報告 return c Complex Complex operator Complex a Complex c a r r a v v cout 成員函數(shù)實現(xiàn)與復(fù)數(shù)的加法 return c Complex Complex operator double a Complex c r a v cout 成員函數(shù)實現(xiàn)與實數(shù)的加法 return c Complex operator Complex a Complex b Complex c a r b r a v b v cout 友元函數(shù)實現(xiàn)與復(fù)數(shù)的減法 return c Complex operator Complex a double r Complex c a r r a v cout 友元函數(shù)實現(xiàn)與實數(shù)的減法 return c 金陵科技學(xué)院實驗報告 void main Complex a 2 2 b 3 4 test test a b test show test a b test show test a b test show test a 5 test show test a b test show test a 5 test show 運行結(jié)果 四 實驗體會 本次學(xué)習(xí)了多態(tài)性 增加了函數(shù)的復(fù)用性 很大程度的減少了代碼的重復(fù) 金陵科技學(xué)院實驗報告 性 金陵科技學(xué)院實驗報告 實驗項目名稱 異常處理 實驗學(xué)時 3 同組學(xué)生姓名 無 實驗地點 A107 實驗日期 11 20 實驗成績 批改教師 吳剛 批改時間 金陵科技學(xué)院實驗報告 一 實驗?zāi)康暮鸵?1 正確理解 C 的異常處理機制 2 學(xué)習(xí)異常處理的聲明和執(zhí)行過程 二 實驗設(shè)備和環(huán)境 1 計算機每人一臺 2 安裝 WindowsXP 或者以上版本操作系統(tǒng) 3 安裝 Visual C 6 0 或者 Visual C 2005 以上版本 三 實驗內(nèi)容及步驟 1 聲明一個異常類 Cexception 有成員函數(shù) Reason 用來顯示異常的類型 在子函數(shù)中觸發(fā)異常 在主程序中處理異常 觀察程序的執(zhí)行流程 程序 include using namespace std int Div int x int y void main Try cout 5 2 Div 5 2 endl cout 8 0 Div 8 0 endl cout 7 1 Div 7 1 endl catch int 金陵科技學(xué)院實驗報告 cout except of deviding zero n cout this is ok n int Div int x int y if y 0 throw y return x y 運行結(jié)果 2 設(shè)計一個異常抽象類 Exception 在此基礎(chǔ)上派生一個 OutOfMemory 類響應(yīng) 內(nèi)存不足 一個 RangeError 類響應(yīng)輸入的數(shù)不在指定范圍內(nèi) 實現(xiàn)并測試這幾 個類 程序 include using namespace std void MyFunc void class Expt public 金陵科技學(xué)院實驗報告 Expt Expt const char ShowReason const return Expt 類異常 class Demo public Demo Demo Demo Demo cout 析構(gòu) Demo endl Demo Demo cout 構(gòu)造 Demo endl void MyFunc Demo d cout 在 MyFunc 中拋擲 Expt 類異常 endl 金陵科技學(xué)院實驗報告 throw Expt int main cout 在 main 函數(shù)中 endl try cout 在 try 塊中 調(diào)用 MyFunc endl MyFunc catch Expt e cout 在 catch 中 異常處理程序中 endl cout 捕獲到 Expt 類異常 cout e ShowReason endl catch char str cout 捕獲到其他異常 str endl cout 回到 main 函數(shù) 從這里恢復(fù)執(zhí)行 endl return 0 運行結(jié)果 金陵科技學(xué)院實驗報告 四 實驗體會 本次的異常學(xué)習(xí)熟悉了 C 的異常處理 是對知識的拓寬- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
15 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 面向?qū)ο蟪绦蛟O(shè)計 面向 對象 程序設(shè)計 實驗
鏈接地址:http://m.hcyjhs8.com/p-9956841.html