2023.4.28
1 //实验六任务5 2 #include <iostream> 3 #include <string> 4 using namespace std; 5 class Student 6 { 7 public: 8 Student(int ID,string name); 9 void setnameid() 10 { 11 cout<<"请输入姓名:"<<endl; 12 cin>>name; 13 cout<<"请输入学号:"<<endl; 14 cin>>ID; 15 } 16 void displaynameid() 17 { 18 cout<<"姓名:"<<name<<endl; 19 cout<<"学号:"<<ID<<endl; 20 } 21 virtual void setmajor() = 0; 22 virtual string getmajor() = 0; 23 virtual void setadvisor() = 0; 24 virtual string getadvisor() = 0; 25 protected: 26 string name; 27 int ID; 28 }; 29 class Understud:public Student 30 { 31 public: 32 Understud(string name,int ID,string major); 33 void setmajor() 34 { 35 cout<<"请输入学号:"<<endl; 36 cin>>major; 37 } 38 string getmajor() 39 { 40 cout<<"专业:"<<major<<endl; 41 return major; 42 } 43 protected: 44 string major; 45 }; 46 class Poststud:public Understud 47 { 48 public: 49 Poststud(string name = "***",int ID = -1,string major = "###",string advisor = "&&&"); 50 void setadvisor() 51 { 52 cout<<"请输入导师姓名:"<<endl; 53 cin>>advisor; 54 } 55 string getadvisor() 56 { 57 cout<<"导师姓名:"<<advisor<<endl; 58 return advisor; 59 } 60 private: 61 string advisor; 62 }; 63 int main() 64 { 65 Poststud p; 66 int num; 67 cout<<"请输入选项(0或1):"; 68 cin>>num; 69 if(num == 0) 70 { 71 p.displaynameid(); 72 p.getmajor(); 73 p.getadvisor(); 74 } 75 else if(num == 1) 76 { 77 p.setnameid(); 78 p.setmajor(); 79 p.setadvisor(); 80 p.displaynameid(); 81 p.getmajor(); 82 p.getadvisor(); 83 } 84 return 0; 85 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?