用C++语言编写一个程序,实现以下功能需求 (1)设计一个老师类Teacher,描述老师的信息(姓名、年龄)和职责(教学)。 (2)设计一个学生类Student,描达学生的信息(姓名、学号)和职责(学习)。 (3)设计一个研究生类Gradua
时间: 2024-12-15 10:20:25 浏览: 5
在C++中,你可以使用类和继承来实现这个需求。下面是一个简单的示例:
```cpp
#include <iostream>
#include <string>
// 老师类 Teacher
class Teacher {
private:
std::string name;
int age;
public:
Teacher(const std::string& name, int age) : name(name), age(age) {
std::cout << "创建教师:" << name << ", 年龄:" << age << std::endl;
}
void teach() {
std::cout << name << "正在授课..." << std::endl;
}
};
// 学生类 Student,继承自Teacher
class Student : public Teacher {
private:
int studentID;
public:
Student(const std::string& name, int age, int studentID) : Teacher(name, age), studentID(studentID) {
std::cout << "创建学生:" << name << ", 年龄:" << age << ", 学号:" << studentID << std::endl;
}
void study() {
std::cout << name << "正在学习..." << std::endl;
}
};
// 研究生类 GraduateStudent,也继承自Teacher
class GraduateStudent : public Teacher {
private:
int researchID;
public:
GraduateStudent(const std::string& name, int age, int researchID) : Teacher(name, age), researchID(researchID) {
std::cout << "创建研究生:" << name << ", 年龄:" << age << ", 研究ID:" << researchID << std::endl;
}
void conductResearch() {
std::cout << name << "正在进行研究..." << std::endl;
}
};
int main() {
// 创建实例并调用各自的方法
Teacher teacher("张三", 35);
teacher.teach();
Student student("李四", 20, 123456);
student.study();
student.teach(); // 学生可以继承老师的教课方法
GraduateStudent gradStudent("王五", 28, 789012);
gradStudent.conductResearch();
gradStudent.teach(); // 研究生同样可以继承老师的教课方法
return 0;
}
```
在这个例子中,`Student`和`GraduateStudent`都从`Teacher`类继承,实现了多态性,他们可以调用自己的方法,也可以通过基类引用调用公共的方法。
阅读全文