當前位置:編程學習大全網 - 編程軟體 - 如何編寫程序,實現由定義抽象基類Shape(形狀)派生出三個派生類?

如何編寫程序,實現由定義抽象基類Shape(形狀)派生出三個派生類?

定義抽象基類Shape,由它派生出3個派生類: Circle(圓形)、Rectangle(矩形)、Triangle(三角形),用壹個函數printArea分別輸出以上三者的面積,3個圖形的數據在定義對象時給定。

#include<iostream> ?using?namespace?std; ?class?Shape ?{ ? public: ?

virtual?float?printArea()?const?{return?0.0;}; }; ?class?Circle:public?Shape ?{ ?

public: ?Circle(float?=0); ? virtual?float?printArea()?const?{return?3.14159*radius*radius;} ?

protected: ?float?radius; }; ?Circle::Circle(float?r):radius(r) ?{ ?} ?class?Rectangle:public?Shape ?{ ?public: ? Rectangle(float?=0,float?=0); ?

virtual?float?printArea()?const; ?protected: ?float?height; ?float?width; ?}; ?

Rectangle::Rectangle(float?w,float?h):width(w),height(h){ ?} ?

float?Rectangle::printArea()const ?{ ?return?width*height; ?} ?

class?Triangle:public?Shape ?{ ? public: ?Triangle(float?=0,float?=0); ?

virtual?float?printArea()?const; ?protected: ?float?height; ?float?width; ?

抽象類(abstract base class,ABC)就是類裏定義了純虛成員函數的類。純虛函數 只提供了接口,並沒有具體實現。抽象類不能被實例化(不能創建對象),通常是作為基類供子類繼承,子類中重寫虛函數,實現具體的接口。簡言之,ABC描述的是至少使用壹個純虛函數的接口,從ABC派生出的類將根據派生類的具體特征,使用常規虛函數來實現這種接口。

  • 上一篇:保時捷編程會編壞汽車配件嗎
  • 下一篇:常德市合豐軟件有限公司怎麽樣?
  • copyright 2024編程學習大全網