#include
試題五(共15分)女人久久久www免费人成看片,国内自拍偷拍网,国产一区二区三区免费在线观看,欧美精品三区四区,91久久国产综合久久91,欧美成人精品第一区二区三区
,美女成人在线观看
閱讀以下說明、圖和C++代碼,填補C++代碼中的空缺(1)—(5),將解答寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
已知某公司主要有兩大類耗電資產(chǎn)(Asset):計算機(ComputerAsset)和建筑物(BuildingAsset)。為了節(jié)約能源,通過控制各種電源,將可關(guān)閉的房燈、計算機顯示器等在夜間關(guān)閉。
為了實現(xiàn)上述需求,設(shè)計了如下圖所示的類圖,并用下面的C++代碼加以實現(xiàn)。
【C++代碼】
#include<typeinfo>
#include<iostream>
using namespace std;
class Asset{ /*通用資產(chǎn),基類*/
public: virtual ~Asset( ){ };
};
class PowerSwitchable{ /*抽象基類,可在夜間關(guān)閉電源的物體接口*/
public: virtual void powerDown( )=0; /*powerDown( )函數(shù)接口*/
virtual void powerUP( )=0; /*powerUp函數(shù)接口*/
};
class computerAsset: public Asset{ /*計算機資產(chǎn)*/
protected: int deskNumber;
public:
ComputerAsset(int desNumber){ this->deskNumber= deskNumber;
};
class ComputerCPU (1) { /*計算機主機,永不關(guān)閉*/
public:
ComputerCPU(int desNumber): ComputerAsset (deskNumber){ }
};
class ComputerMonitor (2){ /*計算機顯示器*/
public:
ComputerMonitor(int roomNumber):ComputerAsset(roomNumber),
PowerSwitchable( ){ }
~ComputerMonitor ( ){ }
void powerDown( ) { /*關(guān)電源,代碼略*/ }
void powerUp( ) { /*開電源,代碼略*/ }
};
/*BuildingAsset、BuildingLight、EmergencyLight和RoomLights代碼省*/
class BuldingManagement {
private:
Asset* things[24]; int numItems;
public:
void goodNight( ){ /*值班員定時“關(guān)閉”時調(diào)用,關(guān)閉可關(guān)閉的電源*/
for(int i=0;i<numItems;i++){
(3) ps=dynamic_cast<PowerSwitchable*>(things[i]);
if(ps!=0)
ps->powerDown();
}
}
/*goodMorning( )與goodNight( )類似,依次調(diào)用powerUp( ),實現(xiàn)省*/
void add(Asset*thing){ /*為建筑添加資產(chǎn)*/
things[(4)]=thing;
}
};
int main(){
BuildingManagement* b1=(5) BuildingManagement( );
b1->add(new RoomLights(101)); //101房間的控制燈
b1->add(new EmergencyLight(101)); //101房間的應(yīng)急燈
b1->add(new ComputerCPU(10104)); //101房間4號桌上的計算機
b1->add(new ComputerMonitor(10104)); //101房間4號桌上的計算機顯示器
b1->goodNight( );
delete b1;
}
相關(guān)試題