c语言求在类和对象基础的编程题(1)的Student类的基础上,派生一个新的类:研究生类GradStudent,新增数据成员:研究方向Research(私有成员)、导师姓名GTName(公
时间: 2024-12-17 11:17:28 浏览: 8
在C++中,你可以基于`Student`类创建一个名为`GradStudent`的新类,这是一个常见的继承和封装的应用。首先,你需要定义`Student`类的基本结构,包括一些公共和私有的成员变量,如名字、年龄等。然后,对于`GradStudent`类,你可以这样做:
```cpp
// 定义Student类
class Student {
private:
std::string name;
int age;
public:
// 构造函数和析构函数
Student(const std::string& name, int age) : name(name), age(age) {}
~Student() {}
// 公开成员函数,例如显示学生信息
void displayInfo() const {
std::cout << "Name: " << name << ", Age: " << age << std::endl;
}
};
// 派生GradStudent类,增加新的成员
class GradStudent : public Student { // 继承自Student
private:
std::string researchDirection; // 私有数据成员,研究方向
std::string GTName; // 公开数据成员,导师姓名
public:
// 构造函数,传入基础信息和新添加的信息
GradStudent(const std::string& name, int age, const std::string& research, const std::string& GTName)
: Student(name, age), researchDirection(research), GTName(GTName) {}
// 公开访问导师姓名,可能需要提供getter方法
std::string getGTName() const {
return GTName;
}
// 可能需要重写displayInfo方法以包含研究生特有的信息
void displayInfo() const override {
Student::displayInfo();
std::cout << "Research Direction: " << researchDirection << ", Advisor: " << GTName << std::endl;
}
};
// 示例如何使用GradStudent
int main() {
GradStudent student("张三", 25, "计算机科学", "李教授");
student.displayInfo();
return 0;
}
```
阅读全文