研究生类
来源:互联网 发布:德兴软件ui设计师 编辑:程序博客网 时间:2024/05/16 01:14
#include<iostream> #include<string> using namespace std; class Student { public: virtual void get()=0; virtual void display()=0; string name; int num; }; class UGraduate :public Student//本科生 { public: void get() { cout << "姓名:"; cin >> name; cout << "学号:"; cin >> num; cout << "班级号:"; cin >> classnum; } void display(); private: int classnum; }; class Graduate :public Student//研究生 { public: void get() { cout << "姓名:"; cin >> name; cout << "学号:"; cin >> num;; cout << "导师姓名:"; cin >> Tutor; } void display(); private: string Tutor; }; void UGraduate::display() { cout << "姓名:" << name; cout << "学号:"<< num; cout << "班级号:" <<classnum<<endl; } void Graduate::display() { cout << "姓名:"<< name; cout << "学号:"<< num; cout << "导师姓名:"<<Tutor; } 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; UGraduate 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
- 研究生类
- 研究生
- 研究生
- 研究生
- 研究生
- 研究生
- 研究生
- 外国计算机类学校研究生开设课程
- 抽象类-学生-研究生-收入-教师
- 抽象类-学生-研究生-收入-教师
- 抽象类-学生-研究生-收入-教师
- 什么样的人适合攻读计算机类研究生
- 计算机类研究生求职经历以及经验共享
- 计算机类研究生求职经历以及经验共享(转)
- IT类研究生入行最高25万 一年干两年活
- 研究生毕个业可真难!
- 研究生课表
- 保送研究生
- 求Fibonacci数列的循环节
- mysql分表的3种方法
- UIDevice 设备信息
- 多线程NSThread+主线程子线程
- UIViewContentMode
- 研究生类
- 解决Android Studio 和 Android SDK Manager 无法在线更新的问题.
- 起点!
- Linux中的EAGAIN含义
- 三星手机 调用系统相机 data 为null 崩溃的问题 (未解决)
- Translation of Semantics with Applications【持续更新】
- 字节对齐实践(2)
- iMX257获取PHY的link状态
- 数理统计