/* (程式頭部注釋開始)
* 程式的著作權和版本聲明部分
* Copyright (c) 2011, 煙台大學電腦學院學生
* All rights reserved.* 檔案名稱:通過撞錯理解訪問限定符和繼承方式
* 作 者: 鮑增凱
* 完成日期:2012 年5月21日
* 版 本 號: vc.1
* 對任務及求解方法的描述部分
* 輸入描述:
* 問題描述:
理解基類中成員的訪問限定符和衍生類別的繼承方式
由下面衍生類別Student1對基類Student的繼承……
(1)請修改基類中成員的訪問限定符和衍生類別的繼承方式,考慮可能的運行結果或可能出現的錯誤,並在上機時進行驗證、對比,達到理解衍生類別成員的訪問屬性的目的。
(2)總結(1)的結果,將(1)的結果摘要寫到報告博文中;最後用自己的話總結確定衍生類別成員的訪問屬性的原則,也寫到報告博文中。
/*【任務】理解基類中成員的訪問限定符和衍生類別的繼承方式由下面衍生類別Student1對基類Student的繼承……()請修改基類中成員的訪問限定符和衍生類別的繼承方式,考慮可能的運行結果或可能出現的錯誤,並在上機時進行驗證、對比,達到理解衍生類別成員的訪問屬性的目的。()總結()的結果,將()的結果摘要寫到報告博文中;最後用自己的話總結確定衍生類別成員的訪問屬性的原則,也寫到報告博文中。(代碼類似P363例.5,上機準備階段可以研究這段代碼,BB平台中提供實驗用代碼。) */#include<iostream>#include"string"using namespace std;class Student //()修改student類中各資料成員和成員函數的訪問限定符,並觀察發生的現象{public: Student(int n,string nam,char s) ;void show();~Student( ){ } protected: int num;string name;char sex ; };class Student1: public Student //()修改此處的繼承方式,並觀察發生的現象{ public: Student1(int n,string nam,char s,int a,string ad);//Student(n,nam,s) ;void show1( );~Student1( ){ } private: int age; string addr; };Student::Student(int n,string nam,char s) {num=n;name=nam;sex=s; }void Student::show(){cout<<"num: "<< num <<endl;cout<<"name: "<< name <<endl;cout<<"sex: "<< sex <<endl<<endl;}Student1::Student1(int n,string nam,char s,int a,string ad):Student(n,nam,s) {age=a; addr=ad;}void Student1::show1( ){cout<<"num: "<<num<<endl;cout<<"name: "<<name<<endl;cout<<"sex: "<<sex<<endl;cout<<"age: "<<age<<endl;cout<<"address: "<<addr<<endl<<endl;}int main( ){Student1 stud1(10010,"Wang-li",'f',19,"115 Beijing Road,Shanghai");Student1 stud2(10011,"Zhang-fun",'m',21,"213 Shanghai Road,Beijing");Student stud3(20010,"He-xin",'m');stud1.show1( ); stud2.show( ); stud3.show( ); return 0;}