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;
}
复制代码

 

posted @   aallofitisst  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示