簡單派生類對基類的呼叫編寫

2021-10-01 02:22:32 字數 1546 閱讀 9724

問題設計乙個名為geometricobject的類,用來建模所有的幾何物件。geometricobject類包含:

string型別的屬性color,用來表示幾何物件的顏色(預設值:white)。

bool型別的屬性filled,用來表示幾何物件是否填充顏色(預設值:false)

乙個無參的建構函式,它建立乙個預設的幾何物件(顏色為white,未填充顏色)。

乙個帶引數的建構函式,它建立乙個指定color和filled值的幾何物件。

資料成員color的訪問器函式getcolor()和更改器函式setcolor()。

資料成員filled的訪問器函式isfilled()和更改器函式setfilled()。

乙個名為tostring()的常量函式,返回幾何物件的字串描述,如「geometric object」。

設計乙個名為********的類,作為geometricobject的派生類,********類包含:

三個名為 side1、side2、side3的double型資料成員,表示三角形的三條邊長。

乙個無參的建構函式,它建立乙個預設的三角形(邊長為1.0)。

乙個帶引數的建構函式,它建立乙個指定side1、side2和side3值的三角形。

可以訪問所有三個資料成員的訪問器函式。

乙個名為 getarea()的常量函式,返回三角形的面積。

乙個名為getperimeter()的常量函式,返回三角形的周長。

乙個名為tostring()的常量函式,返回三角形物件的字串描述,如「******** object」。

實現該類。編寫乙個測試程式,提示使用者輸入三角形的三條邊,輸入一種顏色,並且輸入1或0來指示是否該三角形被填充。程式應使用使用者的輸入來建立具有三條邊和顏色設定及填充屬性的********物件。程式應輸出面積、周長、顏色以及是否被填充。

#include #include #include using namespace std;

class geoment

geoment(string x,bool y)

void setcolor(string x)

string getcolor()

void setfilled(bool y)

bool getfilled()

const void tostring(){cout<<"屬性:"<<"geometric object"<>x1>>x2>>x3>>colors>>filleds;

t.get1(x1);

t.get2(x2);

t.get3(x3);

t.setcolor(colors);

t.setfilled(filleds);

t.geoment::tostring();//這裡用派生類呼叫基類的成員函式的方式,注意一就可以了;

cout<<"面積:"《注意事項:

1這裡是簡單的派生類的應用,注意,這裡是公有派生,注意在派生類裡面的建構函式對基類的初始化的形式,採用引數列表的形式來寫,

2,要注意的是在主函式怎樣用派生類的物件呼叫的基類的函式,以上**寫明了

派生類和基類的函式呼叫

這篇文章舉了乙個簡單的例子說明派生類和基類在虛函式和普通函式的問題 首先宣告派生類和基類,並進行定義,如下所示 宣告部分 header.h class father class child public father 定義部分 header.cpp include include header1.h...

基類和派生類

include include using namespace std class animal class dog public animal class dog public animal這裡的 就是繼承或派生,class cat public animal class item base st...

基類與派生類

初學c 的時候,很多人都很頭疼各種訪問標號下基類與派生類的關係,其實,死記硬背肯定不是乙個好的辦法,要知道它們之間的關係,先要分析一下訪問標號是如何產生的 在沒有繼承之前,類的只有兩類使用者 類本身和類的使用者。把類成員通過public和private劃分恰好體現了這一分割 類的使用者只能訪問類的p...