C++多重继承-研究生类
时间: 2024-06-16 15:08:33 浏览: 27
C++中的多重继承是指一个类可以从多个基类派生而来。在多重继承中,一个派生类可以继承多个基类的成员变量和成员函数。
研究生类是一个具体的例子,假设我们有一个研究生类 Graduate,它可以从多个基类派生而来,比如基类 Person 和基类 Student。通过多重继承,研究生类可以同时拥有 Person 类和 Student 类的成员变量和成员函数。
下面是一个简单的示例代码:
```cpp
class Person {
public:
string name;
int age;
};
class Student {
public:
int studentID;
string major;
};
class Graduate : public Person, public Student {
public:
string researchTopic;
};
int main() {
Graduate graduate;
graduate.name = "John";
graduate.age = 25;
graduate.studentID = 12345;
graduate.major = "Computer Science";
graduate.researchTopic = "Machine Learning";
// 使用 Graduate 类的成员变量和成员函数
cout << "Name: " << graduate.name << endl;
cout << "Age: " << graduate.age << endl;
cout << "Student ID: " << graduate.studentID << endl;
cout << "Major: " << graduate.major << endl;
cout << "Research Topic: " << graduate.researchTopic << endl;
return 0;
}
```
在上面的示例中,Graduate 类通过 public 继承同时继承了 Person 类和 Student 类。这样,Graduate 类的对象可以访问和使用 Person 类和 Student 类的成员变量和成员函数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![PDF](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)