aiaiask.com©

开花即结果 提问即答案

设计Person基类及其派生的学生和教师子类并测试
原始问题:

设计Person基类及其派生的学生和教师子类并测试

首先,我们需要创建一个基类Person,包括姓名、性别和年龄等属性以及相关的方法。然后,从Person类派生出学生类Student和教师类Teacher,分别添加学号、年级、专业等属性以及必要的方法。最后,编写一个主函数来测试这些类的功能。

以下是简洁的C代码:

#include <stdio.h>
#include <string.h>

// 基类Person
typedef struct Person {
    char name[50];
    char gender;
    int age;
} Person;

void print_person_info(Person p) {
    printf("姓名:%s,性别:%c,年龄:%d
", p.name, p.gender, p.age);
}

// 派生类Student
typedef struct Student {
    Person base;
    int student_id;
    int grade;
    char major[50];
} Student;

void print_student_info(Student s) {
    print_person_info((Person)s);
    printf("学号:%d,年级:%d,专业:%s
", s.student_id, s.grade, s.major);
}

// 派生类Teacher
typedef struct Teacher {
    Person base;
    int teacher_id;
    char title[50];
    float salary;
} Teacher;

void print_teacher_info(Teacher t) {
    print_person_info((Person)t);
    printf("教师号:%d,职称:%s,工资:%.2f
", t.teacher_id, t.title, t.salary);
}

int main() {
    Student student = {"张三", 'M', 20, "计算机科学与技术"};
    print_student_info(student);

    Teacher teacher = {"李四", 'F', "副教授", 8000.0};
    print_teacher_info(teacher);

    return 0;
}
设计Person基类及其派生的学生和教师子类并测试
https://www.aiaiask.com/ask/48643.html
AI / 模型DeepSeek
时间 / DATESeptember 27, 2023, 11:04 AM
语言zh-CN
IP / 区域四川 成都