第十一周项目2——存储班长信息的学生类
2016-05-14 21:59
316 查看
问题及代码:
运行结果:
学习心得:StuDetial类在初始化的过程中需要按照声明时的顺序,而不是形参的声明顺序。
/* * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:main.cpp * 作 者:赵志君 * 完成日期:2016年5月14日 * 版 本 号:v1.0 * * 问题描述:根据给出的声明好的类及测试函数,写出与运行结果相对应的成员函数。 */ #include <iostream> 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 //声明派生类StuDetail { public: //学生nam,学号n,a岁,家住ad,他的班长是nam1,学号n1 StuDetail(int n, string nam,int a, string ad,int n1, string nam1); //派生类构造函数 void show( ); //成员函数,输出学生的信息 void show_monitor( ); //成员函数,输出班长信息 private: Stu monitor; //学生所在班的班长,班长是学生,是Stu类的成员 int age; //学生年龄 string addr; //学生的住址 }; StuDetail::StuDetail(int n, string nam,int a, string ad,int n1, string nam1):Stu(n,nam)<span style="font-family: Arial, Helvetica, sans-serif;">,monitor(n1,nam1)</span><span style="font-family: Arial, Helvetica, sans-serif;">,age(a),addr(ad){}</span>
void StuDetail::show() { cout<<"学生信息:"<<endl; display(); cout<<"年龄:"<<age<<endl; cout<<"住址:"<<addr<<endl<<endl; } void StuDetail::show_monitor() { cout<<"班长信息:"<<endl; monitor.display(); } int main( ) { //学生王力,10010号,19岁,家住上海的北京路,他的班长是李孙,学号10001 StuDetail s(10010,"Wang-li",19,"115 Beijing Road,Shanghai",10001,"Li-sun"); s.show( ); //输出学生信息 s.show_monitor(); //输出班长信息 return 0; }
运行结果:
学习心得:StuDetial类在初始化的过程中需要按照声明时的顺序,而不是形参的声明顺序。
相关文章推荐
- 逻辑回归-梯度下降法 python实现
- 347. Top K Frequent Elements
- Android-Parcelable接口的使用
- Eclipse console返回null
- 枚举
- python学习三
- C++之RAII惯用法
- Linux进程,fork-专研精讲(实例讲解)!!!
- 在Android中Context.getResource和R.id.XX方式访问资源的区别
- CSS简介和CSS选择器
- hdu 欧拉回路(判断)
- 练习打字第十天!
- Xpath语法
- RPC的简单实现
- CSS简介和CSS选择器
- CSS简介和CSS选择器
- linux运维管理平台
- CRT设置
- LeetCode|Bulb Switcher
- essential c++ 练习题(1)