第十三周上机任务项目1-理解基类中成员的访问限定符和派生类的继承方式
2013-05-23 18:15
851 查看
01./* 02.* 程序的版权和版本声明部分 03.* Copyright (c)2013, 烟台大学计算机学院学生 04.* All rightsreserved. 05.* 文件名称:student .cpp 06.* 作 者:赵冠哲 07.* 完成日期:2012年5月23日 08.* 版本号: v1.0 09.* 输入描述: 10.* 问题描述: 11.*/ #include <iostream> using namespace std; class StudentA //(1)修改studentA类中各数据成员和成员函数的访问限定符,并观察发生的现象 { public: StudentA(int n,string nam,char s); void showA(); ~StudentA( ) { } protected: int num; string name; char sex ; }; class StudentB: public StudentA //(2)修改此处的继承方式,并观察发生的现象 { public: StudentB(int n,string nam,char s,int a,string ad); void showB( ); ~StudentB( ) { } private: int age; string addr; }; StudentA::StudentA(int n,string nam,char s) { num=n; name=nam; sex=s; } void StudentA::showA() { cout<<"num: "<<num<<endl; cout<<"name: "<<name<<endl; cout<<"sex: "<<sex<<endl<<endl; } StudentB::StudentB(int n,string nam,char s,int a,string ad):StudentA(n,nam,s) { age=a; addr=ad; } void StudentB::showB( ) { cout<<"num: "<<num<<endl; cout<<"name: "<<name<<endl; cout<<"sex: "<<sex<<endl; cout<<"age: "<<age<<endl; cout<<"address: "<<addr<<endl<<endl; } int main( ) //(3)思考由于访问限定符和继承方式的改变,会引发什么现象的发生,并作出解释 { StudentB stud1(10010,"Wang-li",'f',19,"115 Beijing Road,Shanghai"); StudentB stud2(10011,"Zhang-fun",'m',21,"213 Shanghai Road,Beijing"); StudentA stud3(20010,"He-xin",'m'); stud1.showB( ); stud2.showA( ); stud3.showA( ); return 0; } 修改studentA类,将protected改为public后,显示的是无错误。 修改studentA类,将protected改为private后,显示的是有错误: D:\12\main.cpp|10|error: 'int StudentA::num' is private|。 修改B类的继承方式,将public改为protected后,显示的是有错误: D:\12\main.cpp|39|error: 'StudentB::StudentB(int, std::string, char, int, std::string)' is protected| 修改B类的继承方式,将public改为private后,显示的是有错误: D:\12\main.cpp|39|error: 'StudentB::StudentB(int, std::string, char, int, std::string)' is private| 总结: public的在派生类内外均可使用,private的在派生类内可以访问,在派生类外面不可以访问,protected的在派生类内可以访问,在派生类外不可以访问。
运行结果:
相关文章推荐
- C++第十三周任务-项目一(理解基类中成员的访问限定符和派生类的继承方式)
- 第十三周—【项目1】理解基类中成员的访问限定符和派生类的继承方式
- 第十三周 项目一:理解基类中成员的访问限定符和派生类的继承方式
- 第十三周项目一—理解基类中成员的访问限定符和派生类的继承方式
- C++第十二周【任务1】理解基类中成员的访问限定符和派生类的继承方式
- 第十二周实验指导--任务1--理解基类中成员的访问限定符和派生类的继承方式
- 第十二周任务一 理解基类中成员的访问限定符和派生类的继承方式
- 【项目1 - 长颈鹿类对动物类的继承】理解基类中成员的访问限定符和派生类的继承方式
- 第13周项目一-理解基类中成员的访问限定符和派生类的继承方式
- 十二周实验报告任务1 理解基类中成员的访问限定符和派生类的继承方式。
- 第十二周任务一理解基类中成员的访问限定符和派生类的继承方式
- 第12周任务1(理解基类中成员的访问限定符和派生类的继承方式)
- 13周项目一.1(理解基类中成员的访问限定符和派生类的继承方式)
- 第十二周C++【任务1】理解基类中成员的访问限定符和派生类的继承方式
- 第十二周任务二(理解基类成员的访问限定符和派生类的继承方式)
- 《C++第十二周实验报告1-1》----理解基类中成员的访问限定符和派生类的继承方式
- 13_1理解基类中成员的访问限定符和派生类的继承方式
- 第13周-项目1-基类中成员的访问限定符和派生类的继承方式
- 第十二周任务1:理解成员的访问限定符和派生类的继承方式
- 理解基类中成员的访问限定符和派生类的继承方式