用一个异质链表(多态性)保存学生数据
来源:互联网 发布:临沂软件开发吧 编辑:程序博客网 时间:2024/05/20 09:43
#include<iostream>#include<string>using namespace std;class Student{public:virtual void get()=0;virtual void display()=0;string name;string num;};class UnderGrad :public Student{public:void get(){cout << "姓名:"; cin >> name;cout << "学号:"; cin >> num; cout << "班级号:"; cin >> classnum;}void display();private:string classnum;};class Graduate :public Student{public:void get(){cout << "姓名:"; cin >> name;cout << "学号:"; cin >> num;cout << "导师姓名:"; cin >> tutor;}void display();private:string tutor;};void UnderGrad::display(){ cout << "姓名"<<"\t"<<"学号"<<"\t"<<"班级"<<endl; cout<<name<<"\t"<<num<<"\t"<<classnum<<endl;}void Graduate::display(){ cout << "姓名"<<"\t"<<"学号"<<"\t"<<"导师姓名"<<endl; cout<<name<<"\t"<<num<<"\t"<<tutor<<endl;}template <typename T>class SList;template <typename T>class Node{friend class SList<T>;public:Node(T *data) :data(data), next(NULL){}private:T *data;Node<T> *next;};template < typename T>class SList{public:SList():head(NULL), tail(NULL){}void Insert(T *newNode){Node<T> *t = new Node<T>(newNode);if (!head){head = tail = t;length++;}else{tail->next = t;tail = t;length++;}}void Delete(){Node<T> *t = head;head = head->next;delete t;}void Print(){if (!head){cout << "链表空..." << endl;return;}Node<T> *t;for (t = head; t; t = t->next){t->data->display();}}private:int length;Node<T> *head;Node<T> *tail;};int main(){char c; UnderGrad U; Graduate G;SList<Student> List;for (;;){cout << "创建学生:类型(U)本科生,(G)研究生,(E)结束:";cin >> c;if (c == 'E'){ cout << "销毁链表."<<endl; break; }else if (c == 'U' || c == 'G')switch (c){case 'U':U.get(); List.Insert(&U); break;case 'G':G.get(); List.Insert(&G); break;default: break;}else cout << "输入无效请重新输入:" << endl;}List.Print();List.Delete();List.Delete();return 0;}
0 0
- 用一个异质链表(多态性)保存学生数据
- 用一个异质链表(多态性)保存学生数据
- 用一个异质链表(多态性)保存学生数据
- 用一个异质链表保存学生数据
- 用一个异地链表保存学生数据
- 异质链表保存学生信息
- 用文件保存学生信息
- 建立一个数组,内存放5个学生的数据(学号、成绩),用指针指向数组首元素,输出1、3、5学生的数据
- 建立一个对象数组,内放5个学生数据(学号、成绩),用指针指向数组首元素,输出学生的数据
- 使用Xml文档进行数据的保存的学生成绩管理系统
- 用动态数组保存学生姓名
- 用动态数组保存学生信息
- 用动态数组保存学生姓名
- [4.21]编写一个程序,已有若干个学生的数据,包括学号、姓名、成绩、要求输出这些学生的数据并计算出学生人数和平均成绩(要求将学生人数和总成绩用静态数据成员表示)。
- 编写一个函数print,打印一个学生的成绩数组,该书组中有五个学生的数据,每个学生的数据包括num(学号)、name(姓名)、score(3门课的成绩)、用主函数输入这些数据,用print函数输出这些
- 第四章作业:4.17:建立一个对象数组,内放6个学生的数据(学号,成绩),用指针向数组首元素,输出第2,4,6个学生的数据。
- Chapter9——建立一个对象数组,内放5个学生的数据(学号,成绩),用指针指向数组首元素,输出第1,3,5学生的数据。
- 第十五周(项目二)——用文件保存学生的名单。
- 使用msword.olb操作word(3)
- SAT OG 写作辅导:使生活的变简单的改变会让生活变更好?
- ab命令
- 空间滤波
- php FAQ
- 用一个异质链表(多态性)保存学生数据
- css 两个table td表格合并
- 用HTML开发Windows桌面应用程序2
- Scrollview嵌套listviwe简单解决方案
- linux命令详解——ln
- 十二周——杭电——1004The Last Practice
- ActiveMQ Queue和Topic
- 常用JAVA虚拟机参数
- 微信公众平台获取“openid”的方法