編寫程式,宣告乙個基類shape,再派生出rectangle類和circle,二者都有getarea()函式,計算物件的面積。使用程式rectangle類建立乙個派生類square。
#includeusing namespace std;
class shape//圖形類
//析構函式
virtual double getarea()=0;//純虛函式
virtual void print()=0;//純虛函式
};class rectangle:virtual public shape//矩形類,公有繼承圖形類
//析構函式
double getarea();//面積函式
virtual void print();
protected:
double width,height;//寬,高
};rectangle::rectangle()
rectangle::rectangle(double w,double h)
double rectangle::getarea()
void rectangle::print()
class circle:public shape//圓類,公有繼承圖形類
//析構函式
double getarea();//面積函式
void print();
protected:
double radius;
};circle::circle()
circle::circle(double r)
double circle::getarea()
void circle::print()
class square:public rectangle//正方形類,公有繼承矩形類
//析構函式
double getarea();//面積函式
void print();
};square::square(double w):rectangle(w,w)
{}double square::getarea()
void square::print()
int main()
{ shape *sh[3];
sh[0]=new rectangle;
sh[1]=new circle;
sh[2]=new square;
rectangle *re[2];
re[0]=new rectangle;
re[1]=new square;
int i;
for(i=0;i<3;i++)
{ sh[i]->print();
coutcoutcoutcoutcoutcoutcoutcout<
物件導向2 繼承與派生
1 繼承的概念 引入 先定義了乙個類a,然後又想新建立另外乙個類b,但是類b的大部分內容與類a是相同的,我們不可能從新再寫乙個類b,這就用到了類的繼承的概念。通過繼承的方式新建類b,讓b繼承a,b會 遺傳 a的所有屬性 資料屬性和函式屬性 概念 繼承是指類與類之間的關係,是一種建立新類的方式,新建的...
繼承與派生(2 公有繼承) 重點
基類中的成員 private成員 public成員 protected成員 派生類內部 不可訪問 可以訪問 可以訪問 派生類的物件 不可訪問 可以訪問 不可訪問 定義乙個基類person 不定義建構函式 私有資料成員 姓名,性別,年齡 公有成員函式 set p 設定person的私有資料成員 sho...
派生與繼承 多重派生
1 理解下面的程式,並在 vc 6.0 下執行檢視結果,回答程式後面的問題。class cbase1 cbase1 void print protected int a class cbase2 cbase2 void print protected int b class cderive publ...