4/19打卡
class People { protected: int age; string name; public: People() {} People(int a, string n) : age(a), name(n) {} virtual ~People() {} void setValue(int m, string str) { age = m; name = str; } virtual void display() = 0; }; class Student : public People { private: int studentID; public: Student() {} Student(int a, string n, int id) : People(a, n), studentID(id) {} ~Student() {} void setID(int m) { studentID = m; } void display() { cout << "Name: " << name << endl; cout << "Age: " << age << endl; cout << "Student ID: " << studentID << endl; } }; class Teacher : public People { private: int teacherID; public: Teacher() {} Teacher(int a, string n, int id) : People(a, n), teacherID(id) {} ~Teacher() {} void setID(int m) { teacherID = m; } void display() { cout << "Name: " << name << endl; cout << "Age: " << age << endl; cout << "Teacher ID: " << teacherID << endl; } }; int main() { People* ptr; Student s; Teacher t; int age, studentID, teacherID; string name; // 学生信息输入 cout << "Enter student name: "; getline(cin, name); cout << "Enter student age: "; cin >> age; cout << "Enter student ID: "; cin >> studentID; // 利用父类指针给学生对象初始化赋值 ptr = &s; ptr->setValue(age, name); s.setID(studentID); // 教师信息输入 cin.ignore(); // 忽略掉前面输入时留下的回车符 cout << "Enter teacher name: "; getline(cin, name); cout << "Enter teacher age: "; cin >> age; cout << "Enter teacher ID: "; cin >> teacherID; // 利用父类指针给教师对象初始化赋值 ptr = &t; ptr->setValue(age, name); t.setID(teacherID); // 输出学生和教师信息 cout << endl << "Student Information:" << endl; s.display(); cout << endl << "Teacher Information:" << endl; t.display(); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现