實驗七:專案二學生類
阿新 • • 發佈:2019-02-19
一、問題及程式碼
/* 檔名稱:實驗七.cpp * 作 者:吳濤濤 * 完成日期:2017 年 5 月 21 日 * 版 本 號:v1.0 * 對任務及求解方法的描述部分: * 輸入描述:無 * 問題描述: 【專案2 - 學生類】 * 演算法設計:略 */ #include<iostream> #include<string> using namespace std; class Stu //宣告基類 { public: Stu(int n, string nam ){ num=n; name=nam; }; //基類建構函式 void display( ){ cout<<"學號:"<<num<<endl; cout<<"姓名:"<<name<<endl; }; //成員函式,輸出基類資料成員 protected: //(*)訪問許可權為保護型的資料成員 int num; //學生學號 string name; //學生姓名 }; class StuDetail: public Stu //宣告派生類StuDetail { public: //學生nam,學號n,a歲,家住ad,他的班長是nam1,學號n1 StuDetail(int n, string nam,int a, string ad,int n1, string nam1):Stu(n,nam),age(a),addr(ad),monitor(n1,nam1){}; //派生類建構函式 void show( ){ cout<<"學生資訊:"<<endl; display(); cout<<"年齡:"<<age<<endl; cout<<"住址:"<<addr<<endl; cout<<endl; }; //成員函式,輸出學生的資訊 void show_monitor( ){ cout<<"班長資訊:"<<endl; monitor.display(); }; //成員函式,輸出班長資訊 private: Stu monitor; //學生所在班的班長,班長是學生,是Stu類的成員 int age; //學生年齡 string addr; //學生的住址 }; int main( ) { //學生張三,10010號,19歲,家住江西南昌,他的班長是李四,學號10001 StuDetail s(10010,"張三",19,"江西南昌",10001,"李四"); s.show( ); //輸出學生資訊 s.show_monitor(); //輸出班長資訊 return 0; }
二、執行結果
三、心得體會
在繼承中操作雖然會比之前更具難度,但是寫出來的程式更加簡潔明瞭,而且掌握了之後寫起程式來省事很多。
儘管在初期,較難接受但是慢慢地多聯絡掌握後,自豪感油然而生。在這次程式設計中,遇到很多麻煩,查閱了許多
程式碼,和問了同學,但是最後成功時一切都是值得的。
四、知識點總結
派生類建構函式的語法格式:
派生類名::派生類名(總引數表):基類名(引數表),物件成員名(物件引數表)
{
新增成員的初始化語句;
}