C++实验4-继承和派生1
2016-04-22 10:53
531 查看
一、问题及代码
二、运行结果
三、心得体会
对继承和派生的理解不够,导致编程方面出现各种错误,各种不顺,要花费时间对该知识点加强学习、理解
四、知识点总结
继承是面向对象语言的一个重要机制,
通过继承可以在一个一般类的基础上建立新类,被继承的类称为基类,
在基类上建立的新类称为派生类。
/* * 文件名称:继承和派生1学生类 * 作 者:尚超 * 完成日期:2016年4月22日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分: * 输入描述: * 问题描述: * 程序输出: 略 * 问题分析: 略 * 算法设计: 略 */
#include <iostream> #include <string> using namespace std; class Stu { public: Stu(int n, string nam ); void display( ); protected: int num; string name; }; Stu::Stu(int n, string nam ): num(n),name(nam){} void Stu::display( ) { cout<<"学号: "<<num<<endl; cout<<"姓名: "<<name<<endl; } class StuDetail: public Stu { public: StuDetail(int n, string nam,int a, string ad,int n1, string nam1); void show( ); void show_monitor( ); private: Stu monitor; int age; string addr; }; StuDetail::StuDetail(int n, string nam,int a,string ad,int n1,string nam1):Stu(n,nam),monitor(n1,nam1),age(a),addr(ad){} void StuDetail::show( ) { cout<<"学生信息:"<<endl; cout<<"学号: "<<num<<endl; cout<<"姓名: "<<name<<endl; cout<<"年龄: "<<age<<endl; cout<<"住址: "<<addr<<endl; } void StuDetail::show_monitor( ) { cout<<endl; cout<<"班长信息:"<<endl; monitor.display( ); } int main( ) { StuDetail s(10010,"张三",19,"江西南昌",10001,"李四"); s.show( ); s.show_monitor(); return 0; }
二、运行结果
三、心得体会
对继承和派生的理解不够,导致编程方面出现各种错误,各种不顺,要花费时间对该知识点加强学习、理解
四、知识点总结
继承是面向对象语言的一个重要机制,
通过继承可以在一个一般类的基础上建立新类,被继承的类称为基类,
在基类上建立的新类称为派生类。