C++ 类设计:Person、Date、Student 和 Teacher 类示例

本文将通过示例代码展示如何用 C++ 定义 Person、Date、Student 和 Teacher 类,并演示如何使用这些类创建对象,并进行基本操作。

1. 类定义

class Person {
private:
    string name;
    int age;
public:
    Person(string n, int a);
    string getName();
    int getAge();
};

class Date {
private:
    int year;
    int month;
    int day;
public:
    Date(int y, int m, int d);
    int getYear();
    int getMonth();
    int getDay();
};

class Student : public Person {
private:
    Date birthday;
    double score;
public:
    Student(string n, int a, Date b, double s);
    Date getBirthday();
    double getScore();
};

class Teacher : public Person {
private:
    string title;
public:
    Teacher(string n, int a, string t);
    string getTitle();
    void setScore(Student &s, double score);
};

2. 主函数

int main() {
    // 创建一个生日为1999年3月1日的学生,成绩为90分
    Date birthday(1999, 3, 1);
    Student s('张三', 20, birthday, 90.0);

    // 创建一个职称为教授的教师
    Teacher t('李四', 35, '教授');

    // 输出学生和教师的信息
    cout << '学生信息:' << endl;
    cout << '姓名:' << s.getName() << endl;
    cout << '年龄:' << s.getAge() << endl;
    cout << '生日:' << s.getBirthday().getYear() << '年' << s.getBirthday().getMonth() << '月' << s.getBirthday().getDay() << '日' << endl;
    cout << '成绩:' << s.getScore() << endl;

    cout << endl;

    cout << '教师信息:' << endl;
    cout << '姓名:' << t.getName() << endl;
    cout << '年龄:' << t.getAge() << endl;
    cout << '职称:' << t.getTitle() << endl;

    // 重新指定学生的成绩为80分
    t.setScore(s, 80.0);

    // 输出学生的新信息
    cout << endl;
    cout << '学生新信息:' << endl;
    cout << '姓名:' << s.getName() << endl;
    cout << '年龄:' << s.getAge() << endl;
    cout << '生日:' << s.getBirthday().getYear() << '年' << s.getBirthday().getMonth() << '月' << s.getBirthday().getDay() << '日' << endl;
    cout << '成绩:' << s.getScore() << endl;

    return 0;
}

解释:

  • Person 类: 包含姓名和年龄两个数据成员,提供获取姓名和年龄的方法。
  • Date 类: 包含年、月、日三个数据成员,提供获取年、月、日的方法。
  • Student 类: 继承自 Person 类,并包含生日和成绩两个数据成员,提供获取生日和成绩的方法。
  • Teacher 类: 继承自 Person 类,并包含职称数据成员,提供获取职称和修改学生成绩的方法。

主函数部分:

  1. 创建一个 Student 对象,设置姓名、年龄、生日和成绩。
  2. 创建一个 Teacher 对象,设置姓名、年龄和职称。
  3. 打印学生和教师的信息。
  4. 通过 Teacher 对象的 setScore 方法修改 Student 对象的成绩。
  5. 再次打印学生信息,可以看到成绩已经更新。

注意:

  • 代码示例中省略了构造函数和成员函数的实现,您可以根据需求自行补充。
  • 可以根据需要添加其他数据成员和成员函数,例如可以为 Student 类添加入学时间、专业等数据成员。
  • 以上示例仅展示了简单的类设计和使用,您可以根据实际需求进行扩展和修改。

希望以上内容能够帮助您理解 C++ 类设计的基本概念。

C++ 类设计:Person、Date、Student 和 Teacher 类示例

原文地址: https://www.cveoy.top/t/topic/nBFx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录