qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-免登录深度版🔥

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

时间2023-09-27 11:04:50 提问来自 四川省成都市 的网友 分类创作 浏览363
首先,我们需要创建一个基类Person,包括姓名、性别和年龄等属性以及相关的方法。然后,从Person类派生出学生类Student和教师类Teacher,分别添加学号、年级、专业等属性以及必要的方法。最后,编写一个主函数来测试这些类的功能。 以下是简洁的C代码: ```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; } ```

不满意?免费深度重写!

免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。

上一篇 马克思主义时代化的必要性。分点500字 下一篇 建设教育强国的青年力 量