学生多态
来源:互联网 发布:聚宝盆营销软件 编辑:程序博客网 时间:2024/05/29 12:20
#include<stdio.h> #include <iostream>#include<string>#include<stdlib.h> using namespace std;class student{public: string name; string num; string duixiang; student(string n,string m,string d):name(n),num(m),duixiang(d){}virtual void display() {}};class UnderGrad:public student{public: virtual void creatlb() {}UnderGrad(string n,string m,string d):student(n,m,d){} virtual void display() { cout<<"学生信息:"<<endl; cout<<"本科生:"<<endl; cout<<"学号:"<<num<<endl; cout<<"姓名:"<<name<<endl; cout<<endl; }string getname(){ return name;} };class Graduate:public student{public: string ds; virtual void creatlb() {}Graduate(string n,string m,string d,string s):student(n,m,d),ds(s){}virtual void display() {cout<<"信息:"<<endl;cout<<"研究生:"<<endl; cout<<"学号:"<<num<<endl; cout<<"姓名:"<<name<<endl; cout<<"导师姓名:"<<ds<<endl; cout<<endl; }};typedef struct _studentlist{ student *data; struct _studentlist * next;}studentlist,*studentlis;int creatklb(studentlist *&L){ L= new studentlist; if(!L) { return 0; } L->next = NULL; return 1; } studentlis CreateList(studentlis L,student **ptr) { studentlist* p = new studentlist; p->data=*ptr; p->next = NULL; p->next=L->next;L->next=p; return L; } void displays(student *ptr){ ptr->display();}studentlis caidan(studentlis &L,student **ptr){ studentlis l=L;string n1,m1,d1,d2;char slect;do { cout<<"(u)UnderGrad,(g)Graduate,(e)end"<<endl; cin>>slect; switch(slect) { case 'u': cout<<"本科生:"<<endl; cout<<"学号:"; cin>>n1; cout<<"姓名:"; cin>>m1; d1="bks"; *ptr=new UnderGrad(m1,n1,d1); CreateList(l,ptr); break; case 'g': cout<<"研究生:"<<endl; cout<<"学号:"; cin>>n1; cout<<"姓名:"; cin>>m1; cout<<"导师姓名:"; cin>>d2; d1="bks"; *ptr=new Graduate(m1,n1,d1,d2); CreateList(l,ptr); break; case 'e': cout<<"遍历"<<endl;studentlis lwl =l;while(lwl->next ) { lwl=lwl->next; lwl->data->display(); cout<<endl; }break; }} while(slect!='e');return L;}int main(){ studentlist *l; student *ptr; creatklb(l); caidan(l,&ptr); return 0;}
<img src="http://img.blog.csdn.net/20150602175359594?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbW9sdXpodWk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
0 0
- 学生多态
- 学校学生老师工资多态
- 学生
- 学生
- 学生
- 学生
- 学生
- Java:输出学生信息(继承和多态)
- java笔记--day09--关于多态的两个案例(猫狗和老师学生)
- java 多态对象 封装方法 再调用 实例:学校有不同班的学生
- 映射-- 多对多(老师与学生)
- 导师和学生之间应该多说实话
- 学生大本营,以后多看看,哈!~
- 评判多个学生成绩等级
- 摧毁一个学生有多简单?
- 多位学生成绩的统计
- 第49篇一对多实现(六)学生进入只显示一个头像及删除学生id及删除学生div及 array_merge
- 10 映射-- 多对多(老师与学生)
- 使用HAProxy、PHP、Redis和MySQL支撑10亿请求每周架构细节
- cygwin下编译zlib源码
- 12.3派生类 时间日期
- MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作
- U-Boot中ubi和ubifs命令的使用
- 学生多态
- 12.4派生类 点圆
- JQuery+Ajax 整理
- CMD:[3]获取驱动器或文件夹内的文件列表
- 2015.5.26
- iOS点击空白区域隐藏键盘
- [前端] 简单的cookie操作
- 2015 程序设计实习之动规作业2
- Cubieboard2-Android-Cubie-Screen 模组调试说明 修正1可以显示了 windows ANSI.txt