宅男噜噜噜666在线观看,国产1区二区三区,国产日韩欧美大片,国产超碰97,国产自产视频,99久久国产综合精品色伊,亚洲午夜高清

軟題庫 學習課程
當前位置:信管網(wǎng) >> 在線考試中心 >> 試題查看
試題題型【分析簡答題】
試題內(nèi)容

閱讀以下說明、圖和C++代碼,填補C++代碼中的空缺(1)~(5),將解答寫在答題紙的對應欄內(nèi)。
【說明】
已知對某幾何圖形繪制工具進行類建模的結(jié)果如圖5.1所示,其中Shape為抽象類(應至少包含一個純虛擬( virtual)函數(shù)),表示通用圖形,Box表示矩形,Ellipse表示橢圓,Circle表示圓(即特殊的橢圓),Line表示線條。


圖6-1  類圖

下面的C++代碼用于實現(xiàn)圖5-1所給出的設(shè)計思路,將其空缺處填充完整并編譯運行,輸出結(jié)果為:
Ellipse
Circle
Ellipse
C
E
【C++代碼】
#include
#include
using namespace std;
class Shape{
public:
Shape(const string& name){
m_name= name;
}
~Shape( ){}
(1)     void paint( ) = 0;
stringgetName( )const {
return m_name;
}
private;
string m_name;
};
//Box和 Line類的定義與 Ellipse類似,其代碼略
class Ellipse  (2)  {
public:
Ellipse(const string& name) : Shape(name){ cout<<"Ellipse" <void paint( ) { cout< };
class Circle  (3)  {
public:
Circle(const string& name) : Ellipse(name){ cout<<"Circl"<};
class Diagram {
public:
void drawAShap(Shape* shape){  shape->paint( ); }
void drawShapes( ) {
shapes[0] = new Circle("C");
shapes[l] = new Ellipse("E");
for (int i=0;i<2; ++i) {
drawAShap(shapes[i]);
}
}
void close ( ){  /*刪除形狀,代碼略  */ }
private:
Shape* shapes[2];
};
int main( )
{
Diagram* diagram =   (4) ;
diagram->drawShapes( );
diagram->close ( );
(5)  diagram;
}

查看答案

相關(guān)試題