C++作业
来源:互联网 发布:禅道linux安装包 编辑:程序博客网 时间:2024/06/06 18:50
#include<iostream>#include<string>using namespace std;class Student{public:virtual void get()=0;virtual void display()=0;string name;int num;};class UnderGraduate :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 UnderGraduate::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; UnderGraduate 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;}
<img src="http://img.blog.csdn.net/20150527090633384?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGlwaTA5MDgwN2xpbGk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
0 0
- c 作业
- c作业
- C作业
- c作业
- c作业
- c作业
- c作业
- c作业
- 【C语言】【unix c】作业 前台作业和后台作业
- C语言期中作业
- C语言期末作业
- C基础作业
- C语言小作业
- c语言作业2
- C语言小作业
- 第一次C程序设计作业
- 第一次C程序设计作业
- 第一次C程序设计作业
- A. DOM高级 01表格的快速操作
- 图片优化的方法
- java之抽象类和接口总结
- ACM-交换输出
- 第十二周 项目1-教师兼干部类
- C++作业
- ACM-16进制的简单运算
- VS2010更换智能提示工具(visual assist)
- 杀死当前Excel进程
- 第十二周上机项目3日期时间类
- mysql数据库的连接以及增删改查Java代码实现(PreparedStatement版)
- (转)hadoop上运行c++程序步骤
- 2015年第十二周项目二:摩托车继承自行车和机动车
- A. DOM高级 02 表格鼠标经过高亮