C++試題程式碼筆記
阿新 • • 發佈:2018-11-11
有一個Person類,私有資料成員name、age和sex分別表示人的姓名、年齡和性別。僱員類Employee是Person的派生類,新增資料成員部門department和薪水salary。請用C++程式碼描述這兩個類,並用Employee類的成員函式Display實現僱員的姓名、年齡、性別、部門和薪水的輸出。(要求編寫派生類的建構函式)
#include<iostream> #include<cstring> using namespace std; class Person { public: Person(const char *s1 = NULL, int a = 0,const char *s2 =NULL) { //char *背後的含義是:給我個字串,我要修改它。 strcpy(name, s1); //而理論上,我們傳給函式的字面常量是沒法被修改的。 age = a; //所以說,比較合理的辦法是把引數型別修改為const char *。 strcpy(sex, s2); //這個型別說背後的含義是:給我個字串,我只要讀取它。 } void Display() { cout << name << " " << age << " " << sex << " "; } private: char name[8]; int age; char sex[4]; }; class Employee:public Person { public: Employee(const char *s1 = NULL, int a = 0,const char *s2 = NULL,const char *s3 = NULL, double s = 0):Person(s1, a, s2) { strcpy(department, s3); salary = s; } void Display() { Person::Display(); //*因為name、age和sex是私有資料成員,所以要基類呼叫。 cout << department << " " << salary << endl; } private: char department[12]; double salary; }; int main() { Employee ee("測試",88,"男","計算機",81088.6); ee.Display(); return 0; }
輸出結果:
測試 88 男 計算機 81088.6