利用繼承與派生類管理學生教師檔案.doc_第1頁
利用繼承與派生類管理學生教師檔案.doc_第2頁
利用繼承與派生類管理學生教師檔案.doc_第3頁
利用繼承與派生類管理學生教師檔案.doc_第4頁
利用繼承與派生類管理學生教師檔案.doc_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

利用繼承性和派生性管理學生教師系統(tǒng)利用繼承性與派生類管理學生教師檔案C+課程設計報告專 業(yè): 電子信息工程 班 級: 2007級 (2)班 學 號: 2007082061 姓 名: 陳 蘇 遠 指導教師: 常 耀 輝 二OO八年六月二七日目 錄一. 設計要求. 2二. 設計目的. 2三. 總體設計和詳細設計. 2四. 調試與測試.4五. 源程序清單和執(zhí)行結果. 5六. 總結. 6一.設計要求利用繼承性與派生類來管理學生教師檔案:由person(人員)類出發(fā)(作為基類),派生出student(學生)及teacher(教師)類;而后又由student(學生)類出發(fā)(作為基類),派生出graduateStudent(研究生)類??杉俣ㄟ@幾個類各自具有的數(shù)據(jù)成員為:person(人員)類: 姓名、性別、年齡;student(學生)類:姓名、性別、年齡、學號、系別;teacher(教師)類:姓名、性別、年齡、職稱、擔任課程;graduateStudent(研究生)類:姓名、性別、年齡、學號、系別、導師。為簡化起見,每個類可只設立構造函數(shù)以及顯示類對象數(shù)據(jù)的成員函數(shù)print。而后編制簡單的主函數(shù),說明上述有關的類對象,并對其類成員函數(shù)進行簡單使用(調用)。二. 設計目的:大的方面是通過完成一些具有一定難度的課程設計題目的編寫、調試、運行工作,實現(xiàn)一個小型系統(tǒng)的設計與開發(fā)。進一步掌握面向過程和面向對象程序設計的基本方法和編程技巧,鞏固所學理論知識,使理論與實際相結合。從而提高自我分析問題、解決問題的能力。具體是利用繼承和派生的方法,完成一個管理學生教師檔案的小系統(tǒng),對已學的知識的加強,特別是對繼承和派生等知識的再現(xiàn)和鞏固。三. 總體設計和詳細設計:由基類person出發(fā),派生出student類和teacher類;而后又由student類出發(fā)(再作為基類),派生出graduateStudent類。派生類的構造函數(shù)通過初始化表來負責基類的初始化。四個有關類的程序“構架”如下:class Person public: Person (string nam, char s, int a) /構造函數(shù)name=nam; sex=s; age=a; void print() /負責顯示Person類對象的有關數(shù)據(jù)protected: /保護成員 ;class Teacher:public Person public: Teacher(string nam,char s,int a,string t,string c) :Person(nam,s,a) /構造函數(shù) title=t; course=c; void print() /負責顯示Teacher類對象的有關數(shù)據(jù)protected: /保護成員 ;class Student:public Person public: Student (string nam,char s,int a,int num,string depa) /構造函數(shù) :Person(nam,s,a) number=num; department=depa; void print() /負責顯示Student類對象的有關數(shù)據(jù) protected: /保護成員 ;class Graduate:public Student public: Graduate(string nam,char s,int a,int num,string depa,string pro) /構造函數(shù) :Student(nam,s,a,num,depa),professor(pro) /初始化表void print() /負責顯示Graduate類對象的有關數(shù)據(jù) private: /私有部分 ;可使用如下的主函數(shù)對所定義的各個類進行使用:int main() Person persl(Wang-li,f,20);persl.print(); /輸出人員有關數(shù)據(jù)coutendl;Student studl(Li-li,f,20,2007082061,English);studl.print(); /輸出學生有關數(shù)據(jù) coutendl;Teacher teach(Zhang-li,m,40,assistant,Math);teach.print(); /輸出教師有關數(shù)據(jù) coutendl;Graduate gradl(Wang-li,f,30,20080808,English,yuanlongping);gradl.print(); /輸出研究生有關數(shù)據(jù) coutendl;return 0;各類之間的結構關系如下圖所示:四. 調試與測試:1. 調試方法:因為涉及多層基累和派生類問題,所以應采用逐類調試的方法進行局部調試,具體說就是先調試好一個類后,將其掩蓋,再進行下個類的調試,直到程序正常運行為止。2. 測試過程中遇到的主要問題:考慮到多層繼承,誤以為會出現(xiàn)二義性,而實際上本體并不會存在二義性的問題。五. 源程序清單和執(zhí)行結果:各函數(shù)功能說明: #include #include using namespace std;/聲明基類Personclass Person public: Person (string nam, char s, int a) /構造函數(shù)name=nam; /姓名sex=s; /性別 age=a; /年齡 void print() /負責顯示Person類對象的有關數(shù)據(jù) coutname:nameendl; coutsex:sexendl; coutage:ageendl; protected: /保護成員 string name; char sex; int age;/聲明Person的直接派生類Teacherclass Teacher:public Person public: Teacher(string nam,char s,int a,string t,string c) /構造函數(shù):Person(nam,s,a) title=t; /職稱course=c; /擔任課程 void print() /負責顯示Teacher類對象的有關數(shù)據(jù)coutname:nameendl; coutsex:sexendl; coutage:ageendl; couttitle:titleendl; coutcourse:courseendl; protected: /保護成員 string title; string course;/聲明Person的直接派生類Studentclass Student:public Person public: Student (string nam,char s,int a,int num,string depa) /構造函數(shù) :Person(nam,s,a) number=num; /學號 department=depa; /系別 void print() /負責顯示Student類對象的有關數(shù)據(jù) coutname:nameendl; coutsex:sexendl; coutage:ageendl; coutnumber:numberendl; coutdepartment:departmentendl; protected: /保護成員 int number; string department;class Graduate:public Student public: Graduate(string nam,char s,int a,int num,string depa,string pro) /構造函數(shù) :Student(nam,s,a,num,depa),professor(pro) /初始化表 void print() /負責顯示Graduate類對象的有關數(shù)據(jù) coutname:nameendl; coutsex:sexendl; coutage:ageendl; coutnumber:numberendl; coutdepartment:departmentendl; coutprofessor:professorendl; private: /私有部分 string professor; /導師;/主函數(shù)int main() cout*endl; cout*歡迎您來到學生教師檔案查詢系統(tǒng)*endl; cout*endl;int a;int i,j;Person persl(Wang-li,f,20);Student studl(Li-li,f,20,2007082061,English);Teacher teach(Zhang-li,m,40,assistant,Math);Graduate gradl(Wang-li,f,30,20080808,English,yuanlongping);coutendl;loop:cout輸入您要查找的對象:endlendl1,人員;2,學生;3,教師;4,研究生。a;if(a=1)persl.print();else if(a=2)studl.print();else if(a=3)teach.print();else gradl.print();cou

溫馨提示

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

評論

0/150

提交評論