1樓:匿名使用者
#include
#define pi 3.1415926;
using namespace std;
class shape //抽象類bai的 定義
;class rectangle : public shape //矩形類,公有內繼承
{public: rectangle(double aa, double bb) //帶引數容的 建構函式
{a=aa;
b=bb;
cout<<
編寫一個抽象類shape,在此基礎上派生出類rectangle和circle,兩者都有計算物件面積
2樓:熱情的浪狼
#include
using namespace std;
class shape
;class rectangle : public shapevirtual double getp()};class circle : public shapevirtual double getp()};void main()
定義一個shape抽象類,在此基礎上派生出rectangle和circle類,二者均有計算面積周長的函式。
3樓:聽兒歌的小孩
#include
using namespace std;
class shape
; class circle:public shapedouble area() const;
private:
double radius;
};double circle::area()constclass rectangle:public shapedouble area( ) const;
private:
double width;
double height;
};double rectangle::area( )constclass ********:public shapedouble area( )const;
private:
double wid;
double hei;
};double ********::area( )constint main()
; double areas=0.0; //areas為總面積for(int i=0;i<6;i++)
cout<<"totol of all areas="< return 0;} 4樓:匿名使用者 不要提出這種問題,**還是自己動手寫的好,寫的過程中遇到麻煩,再拿出來問的話,我想會有更多人樂意幫你解答的 11.宣告一個shape抽象類,在此基礎上派生出rectangle和circle類,二者都有getarea( )函式計算物件的面積, 呵呵,自己思考思考吧,這是程式設計的基礎題了,不思考就學不會如何程式設計了。include using namespace std class shape class rectangle public shape include define pi 3.1415926 using namespace... 當繼承關係自頂來至自 下出現菱形路線時,bai最底層的派生類必然du會重複繼承最頂zhi層基類的成dao員,所以定義虛基類是為了解決這種重複繼承的問題。抽象類是包含純虛擬函式的類,它不能定義物件,在類中定義虛擬函式是為了解決基類的指標能夠呼叫派生類的函式也就是所謂的 多型性 讓一個命令實現多種響應。... 樓上說的基本正確,但是對初學者來說是有誤導的。虛擬方法是標記為virtual,虛擬方法可以在子類 派生類中override 有的叫重寫,有的叫過載 抽象方法標記為abstract,抽象方法沒有方法體,抽象方法必須在子類 派生類中override 有的叫重寫,有的叫過載 通俗的說就是普通方法告訴子類怎...編寫抽象類shape,在此基礎上派生出類rectangl
虛基類與抽象類的問題,純虛類 和抽象類 有什麼關係
c抽象類虛擬方法