




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、9. 假定車可分為貨車和客車,客車又可分為轎車、面包車和公共汽車。請設計相應的類層次結構。說明:可以把轎車、面包車和公共汽車定義為客車類的對象參考程序:#includeusing namespace std;class vehicle/ 定義基類vehiclepublic: / 公有函數成員 vehicle(int in_wheels,float in_weight); / 給數據成員初始化 int get_wheels(); / 獲取車輪數 float get_weight(); / 獲取汽車重量 void setWeels(int wls); void setWeight(float wt
2、); void display() cout車輪數:wheels 汽車重量:weightendl; private: / 私有數據成員 int wheels; / 車輪數 float weight; / 表示汽車承重;vehicle:vehicle(int in_wheels,float in_weight)wheels = in_wheels;weight = in_weight;float vehicle:get_weight()return weight;int vehicle:get_wheels()return wheels;void vehicle:setWeels(int wls
3、)wheels = wls;void vehicle:setWeight(float wt)weight = wt;class truck:public vehicle / 定義貨車類truckprivate: / 新增私有數據成員 float weight_load; / 承重public: / 新增公有成員函數 truck(int wheel,float wt,float wl):vehicle(wheel,wt) weight_load = wl; float getLoads() return weight_load; void display() vehicle:display();
4、 cout汽車承重weight_loadendl; ;/車和客車,客車又可分為轎車、面包車和公共汽車class car:public vehicle/ 定義客車類car int passenger_load; / 新增私有數據成員,表示載客數public: / 新增公有成員函數car(int in_wheels,float in_weight,int people=4):vehicle(in_wheels,in_weight)passenger_load = people;int getPassengers()return passenger_load;void setPassengers(i
5、nt people)passenger_load = people;void display() vehicle:display(); cout載客數:passenger_loadendl;void main()truck truck1(8,400,100000);/ 貨車car car1(4,20);/ 客車car saloon_car(4,10,5);/ 轎車car microbus(6,10,18);/ 面包車car bus(6,20,30);/ 公共汽車/ 顯示相關信息truck1.display();cout-endl;car1.display();cout-endl;saloon_
6、car.display();cout-endl;microbus.display();cout-endl;bus.display();程序的運行結果:車輪數:8 汽車重量:400汽車承重100000-車輪數:4 汽車重量:20載客數:4-車輪數:4 汽車重量:10載客數:5-車輪數:6 汽車重量:10載客數:18-車輪數:6 汽車重量:20載客數:3010.設計一個能細分為矩形、三角形、圓形和橢圓形的“圖形”類。使用繼承將這些圖形分類,找出能作為基類部分的共同特征(如寬、高、中心點等)和方法(如初始化、求面積等),并看看這些圖形是否能進一步劃分為子類。參考程序:#includeusing na
7、mespace std;class Figure/ 定義基類圖形類public:/ 公有函數成員 Figure(int wid)width = wid; float area() int getWidth()return width;private: / 私有數據成員 int width; / 寬度或半徑;class Rectangle:public Figure / 定義矩形類int height;public:Rectangle(int wid, int hei):Figure(wid)height = hei; float area()return getWidth() * height
8、;class Triangle:public Figure / 定義三角形類int height;public:Triangle(int wid, int hei):Figure(wid)height = hei;float area()return 1.0/2* getWidth() * height;class Circle:public Figure / 定義圓類public:Circle(int wid):Figure(wid)float area()return 3.14 * getWidth() * getWidth();void main()Rectangle rect(5,4)
9、;Triangle tri(5,4);Circle cir(5);cout矩形的面積是:rect.area()endl三角形的面積是:tri.area()endl圓的面積是:cir.area()endl;程序的運行結果為:矩形的面積是:20三角形的面積是:10圓的面積是:78.511.考慮大學的學生情況,試利用單繼承來實現學生和畢業生兩個類,設計相關的數據成員及函數,編程對繼承情況進行測試。參考程序:#include#includeclass Student/ 定義基類vehiclepublic: / 公有函數成員Student(int n,char *na,int g):number(n),
10、grade(g)strcpy(name,na);int getNumber()return number;char * getName()return name;int getGrade()return grade;void display()cout學號:numberendl姓名:nameendl年級:gradeendl;private: / 私有數據成員 int number; / 學號 char name20;/ 姓名 int grade;/ 年級;class Graduate:public Student /定義畢業生類char designSubject20;public:Gradu
11、ate(int n,char *na,char * deSub,int g=4):Student(n,na,g) strcpy(designSubject,deSub);void display()Student:display();cout設計題目:designSubjectendl;void main()/創建對象Student li(2,Li Ming,3);Graduate zhang(3,Zhang Gang,學生成績管理系統);/ 顯示對象的相關信息li.display();cout endl- endl;zhang.display();程序的運行結果:學號:2姓名:Li Ming
12、年級:3-學號:3姓名:Zhang Gang年級:4設計題目:學生成績管理系統12. 定義一個哺乳動物類,再由此派生出人類、狗類和貓類,這些類中均有speak()函數,觀察在調用過程中,到底使用了誰的speak()函數。參考程序:#include#includeclass Animalfloat weight;public:void speak()void setWeight(float wt)weight = wt;float getWeight()return weight;class Human:public Animalpublic:void speak()cout說話endl;cla
13、ss Cat:public Animalpublic:void speak()cout喵喵endl;class Dog:public Animalpublic:void speak()cout汪汪endl;void main()/ 定義三個對象Human hm;Cat cat;Dog dog;/ 調用不同類的speak函數cout人:;hm.speak();cout貓:;cat.speak();cout狗:;dog.speak();程序的運行結果:人:說話貓:喵喵狗:汪汪13. 通過多重繼承定義研究生類,研究生既有學生的屬性,又有教師的屬性。參考程序:#include #include cla
14、ss Personprotected:char m_strName10;int m_nSex;int m_nAge;public:Person(char *name,int age,char sex)strcpy(m_strName, name);m_nSex= (sex=m?0:1 );m_nAge = age;void setName(char *name)strcpy(m_strName, name);void setSex(int sex)m_nSex= (sex=m?0:1 );void setAge(int age)m_nAge = age;char * getName()retu
15、rn m_strName;int getAge()return m_nAge;int getSex()return m_nSex;void ShowMe()cout 姓 名:m_strNameendl;cout 性 別:(m_nSex=0?男:女)endl;cout 年 齡:m_nAgeendl;class Teacher : public Personchar m_strDept20;int m_fSalary;public:Teacher(char *name,int age,char sex,char *dept,int salary):Person(name,age,sex) strc
16、py(m_strDept, dept); m_fSalary = salary;void ShowMe() Person:ShowMe();cout 工作單位:m_strDeptendl;cout 月 薪:m_fSalaryendl;void setSalary(int salary)m_fSalary = salary;char * getDept()return m_strDept;int getSalary()return m_fSalary;class Student : public Personchar m_strID12;char m_strClass12;public:Stud
17、ent(char *name,int age,char sex,char *ID,char *Class):Person(name,age,sex)strcpy(m_strID, ID); strcpy(m_strClass, Class);void ShowMe()cout 學 號:m_strIDendl;Person:ShowMe();cout 班 級:m_strClassn;void setID(char * ID)strcpy(m_strID, ID);void setClass(char *Class) strcpy(m_strClass, Class);char* getID()r
18、eturn m_strID;char* getClass()return m_strClass;class Master:public Student, public Teacherpublic:Master(char *name,int age,char sex,char *ID,char *Class,char *dept,int salary):Student(name,age,sex,ID,Class),Teacher(name, age, sex, dept, salary)void ShowMe()Student:ShowMe();cout 工作單位:getDept()endl;cout 月 薪:getSalary()endl;void main()/ 定義三個不同類的對象Teacher teacher1(劉馨,38,m,計算機系,3800);Student std1(劉麗,2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國筷子/更座行業投資前景及策略咨詢研究報告
- 甘肅省隴南市名校2024年中考三模數學試題含解析
- 廣東省佛山市順德區龍江鎮重點達標名校2024屆中考四模數學試題含解析
- 2025年公司廠級安全培訓考試試題附參考答案【B卷】
- 2025企業安全培訓考試試題答案典型題匯編
- 2025年項目安全培訓考試試題答案精練
- 說題比賽-福建漳州地區2023-2024學年七年級上學期期中聯考短文寫作答題技巧解析課件
- 2025新入職員工安全培訓考試試題全面
- 2025年公司廠級安全培訓考試試題及答案(真題匯編)
- 2025員工三級安全培訓考試試題附參考答案【預熱題】
- 江蘇省南京市江寧區2024-2025學年統編版二年級下冊期中考試語文試卷(含答案)
- 鐵路調車綜合實訓鐵鞋的使用和注意事項課件
- 加油站安全事故案例課件
- 無人機配送技術發展-全面剖析
- 第14課 遼宋夏金元時期的科技與文化 教案2024-2025學年七年級歷史下冊新課標
- 廣東省江門市2025屆高三下學期一模化學試題(原卷版+解析版)
- 監理實施細則模板(信息化、軟件工程)
- 2025年中共涼山州委辦公室面向全州考調所屬事業單位工作人員高頻重點模擬試卷提升(共500題附帶答案詳解)
- 夏季貨車行車安全教育
- 【基礎卷】同步分層練習:五年級下冊語文第14課《刷子李》(含答案)
- 2025年山西焦煤集團有限責任公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論