今日完成題目:函數
[實驗任務四]:形狀類post
【問題描述】學習
定義shape類,無數據成員,包含兩個純虛函數成員void setvalues() 和float area() ,由shape類進行派生以下:指針
矩形類,包含兩個數據成員變量用於描述底和高,均爲float類型,從新定義上述兩個純虛函數成員,完成數據成員值的設定和麪積的計算;對象
三角形類,包含兩個數據成員變量用於描述底和高,均爲float類型,從新定義上述兩個純虛函數成員,完成數據成員值的設定和麪積的計算;get
正方形類,包含一個數據成員變量用於描述邊長,float類型,從新定義上述兩個純虛函數成員,完成數據成員值的設定和麪積的計算;string
圓形類,包含一個數據成員變量用於描述半徑,float類型,從新定義上述兩個純虛函數成員,完成數據成員值的設定和麪積的計算;變量
在主函數中定義相應的指針對象和普通對象,利用虛函數實現多態,依次分別輸入矩形的底和高,三角形的底和高,正方形的邊長,圓形的半徑,若其中任何一個值小於等於0,則輸出Set Value Error!,而後退出程序,對於以前已正確輸入的數值計算相應形狀的面積。構造函數
【問題描述】定義描述學生的student類,包含受保護兩個數據成員,分辨是描述姓名的,string類型和描述學號的,int類型,構造函數有兩個形參,用於設定這兩個數據成員的值,此外包含6個成員函數,用於設定姓名和學號的函數,void setnameid(), 用於顯示姓名和學號的函數void displaynameid(),以及四個純虛函數void setmajor() ,string getmajor() , void setadvisor() 和 string getadvisor();float
由學生類派生本科生類understud,新增受保護數據成員,描述專業,string類型,構造函數具備三個形參,從新定義函數void setmajor() 和string getmajor(),用於設置專業和獲取專業;
由本科生類派生研究生類poststud,新增私有數據成員,描述導師姓名,string類型,構造函數具備四個形參,且具備缺省值,學生姓名缺省值爲「***」,學號缺省值爲-1,專業缺省值爲「###」,導師姓名缺省值爲「&&&」,從新定義函數void setadvisor() 和 string getadvisor(),用於設置導師屬性和獲取導師屬性值;
在主函數中定義相應的指針對象和普通對象,請問能夠定義哪些(哪一個)類的普通對象,爲何(在實驗報告中回答),定義開關變量,int型,經過輸入進行賦值,若該值爲0,則輸出研究生對象的默認屬性值,若非零,則依次輸入姓名、學號、專業和導師信息,並依次打印出來。
明天要學習對文件操做