1樓:匿名使用者
呵呵,自己思考思考吧,這是程式設計的基礎題了,不思考就學不會如何程式設計了。
2樓:
#include using namespace std;class shape;class rectangle : public shape
3樓:
#include
#define pi 3.1415926;
using namespace std;
class shape //抽象類的 定義
public:
virtual double getarea() = 0; //純虛擬函式
virtual double getperim() = 0; //純虛擬函式
class rectangle : public shape //矩形類,公有繼承
public: rectangle(double aa, double bb) //帶引數的 建構函式
a=aa;
b=bb;
cout<<"長" return a * b; virtual double getperim() return 2*( a + b ); private: double a; double b; class circle : public shape //圓類,公有繼承 public: circle(double rr) //帶引數的 建構函式 r=rr; cout<<"半徑" return r * r * pi; virtual double getperim() return 2 * r * pi; private: double r; void main() double length, width; cout << "輸入長和寬: "; cin >> length >> width; rectangle rect(length, width); cout << "面積是:"<< rect.getarea() << endl<<"周長是:" cout << "輸入半徑: "; cin >> rr; circle cir(rr); 抽象類請編寫一個抽象類shape,在此基礎上派生出類rectangle和circle,兩者都有計算面積的函式getarea() 4樓:匿名使用者 #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<< 11.宣告一個shape抽象類,在此基礎上派生出rectangle和circle類,二者都有getarea( )函式計算物件的面積, 宣告一個基類shape,在此基礎上派生出rectangle和circle,二者都有getarea()函式計算物件的面積. 5樓: class shape ;class rectangle : public shapedouble getarea() private: double height; double width; };class circle : public shapedouble getarea() private: double radius; };class square : public rectangle}; include define pi 3.1415926 using namespace std class shape 抽象類bai的 定義 class rectangle public shape 矩形類,公有內繼承 public rectangle double aa,double bb 帶引數... 當繼承關係自頂來至自 下出現菱形路線時,bai最底層的派生類必然du會重複繼承最頂zhi層基類的成dao員,所以定義虛基類是為了解決這種重複繼承的問題。抽象類是包含純虛擬函式的類,它不能定義物件,在類中定義虛擬函式是為了解決基類的指標能夠呼叫派生類的函式也就是所謂的 多型性 讓一個命令實現多種響應。... 樓上說的基本正確,但是對初學者來說是有誤導的。虛擬方法是標記為virtual,虛擬方法可以在子類 派生類中override 有的叫重寫,有的叫過載 抽象方法標記為abstract,抽象方法沒有方法體,抽象方法必須在子類 派生類中override 有的叫重寫,有的叫過載 通俗的說就是普通方法告訴子類怎...抽象類請編寫抽象類shape,在此基礎上派生出類rect
虛基類與抽象類的問題,純虛類 和抽象類 有什麼關係
c抽象類虛擬方法