1. 房間類Room及完整程式的設計(20分)
公有資料成員:單個房間長Length、單個房間寬Wide,面積Area,房間數量Num。
成員函式:虛函式calc()計算房子面積,set ()用于設定/修改資訊,虛函式print()負責顯示資料成員的值;建構式對資料成員初始化(值均為0)。
主函式:創建類的物件x,初始化長5米、寬4米,物件呼叫set()設定房間數量20、然后物件x呼叫calc()計算20間房子的總面積為400平方米,物件x呼叫print()顯示房間資訊(主函式中不允許用cout陳述句,但帶#的注釋行例外)。
2. 派生類House(樓房)的設計(40分)
House類是Room類(基類)的派生類,增添資料成員和成員函式。
資料成員:Nmen存放樓中人數;無引數的建構式對資料成員初始化(值均為0),帶引數的建構式也傳遞值給基類資料成員進行初始化;
成員函式:goin()用于增加樓中人數,goout()用于減少樓中人數;成員函式calc()計算房子面積(多型性);成員函式print()顯示房間數量、樓中人數。
主函式:創建類物件y,初始化每個房間長8米、寬5米、房間數量25;物件呼叫goin()實作樓中增加6人,物件呼叫goout()實作樓中減少3人;
然后,呼叫calc函式計算房子的面積,并列印(注意,要使用多型),最后,物件呼叫print()函式顯示房間數量25、樓中人數3人(主函式中不允許用cout陳述句,但帶#的注釋行例外)。
3. “孫”派生類Building(高層樓房)的設計(40分)
Building類是House類的派生類;(高層樓房有2個單元,人員僅靠電梯進出)
資料成員:Nelevator存放電梯數;建構式對資料成員初始化(值均為0);
成員函式:set ()用于設定/修改Nelevator的值,print()顯示樓中人數(Nmen值)。
普通函式elerun()(電梯運行)用于增加或減少樓中人數,并列印顯示資訊:進入住宅樓多少人、離開住宅樓多少人;
主函式:創建類物件za(是有2部電梯的單元,初始13人)和zb(是有1部電梯的單元,初始7人),elerun()實作物件za單元的2部電梯運上樓各4人(共8人),elerun()實作物件zb單元的1部電梯運下樓3人;然后,物件呼叫print()函式顯示樓內2個單元的凈人數分別為21人和4人(主函式中不允許用cout陳述句,但帶#的注釋行例外)。
uj5u.com熱心網友回復:
房間類只有長和寬,應該還不夠吧。至少還有高度什么的。uj5u.com熱心網友回復:
這是題目,只需要我們算面積,cpp
uj5u.com熱心網友回復:
class Room{public int calc(){
return Length*Wide;
};
public String print(){
return "Length="+(String)Length+"Wide="+(String)Wide+"Area="+(String)Area+"Num="+(String)Num;
}
public int Length,Wide,Area,Num;
Room(){
Length=0;
Wide=0;
Area=0;
Num=0;
}
public void set(String NameOfDataMember,int ValueOfDataMember){
if(NameOfDataMember=="Length") Length=ValueOfDataMember;
else if(NameOfDataMember=="Wide") Wide=ValueOfDataMember;
else if(NameOfDataMember=="Num" Num=ValueOfDataMember;
else throw new Exception("無效的資料成員");
return;
}
}
public static class TestRoom{
public static void main(String[] argc){
String
Room x = new Room(5,4);
x.set("Num",20);
x.calc();
return;
}
}
uj5u.com熱心網友回復:
把呼叫Room類的main函式補充完整:public static void main(String[] argc){
String RoomInfo;
Room x = new Room(5,4);
x.set("Num",20);
x.calc();
RoomInfo = x.print();
return;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/84724.html
標籤:新手樂園
上一篇:C++ new分配的記憶體未釋放
