设计一个基类 base,包含姓名和年龄私有数据成员以及相关的成员函数,由它派生出 老师类,包含职称,教学科目私有数据成员以及相关的成员函数。再由 base 派生出学生类, 包含专业和班级私有数据成员及相关成员函数。使用c++
时间: 2024-04-17 08:25:24 浏览: 165
以下是一个使用C++实现的基类base以及其派生类老师类和学生类的示例代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Base {
private:
string name;
int age;
public:
Base(string n, int a) : name(n), age(a) {}
void setName(string n) {
name = n;
}
void setAge(int a) {
age = a;
}
string getName() const {
return name;
}
int getAge() const {
return age;
}
};
class Teacher : public Base {
private:
string title;
string subject;
public:
Teacher(string n, int a, string t, string s) : Base(n, a), title(t), subject(s) {}
void setTitle(string t) {
title = t;
}
void setSubject(string s) {
subject = s;
}
string getTitle() const {
return title;
}
string getSubject() const {
return subject;
}
};
class Student : public Base {
private:
string major;
string className;
public:
Student(string n, int a, string m, string c) : Base(n, a), major(m), className(c) {}
void setMajor(string m) {
major = m;
}
void setClassName(string c) {
className = c;
}
string getMajor() const {
return major;
}
string getClassName() const {
return className;
}
};
int main() {
Teacher teacher("John Doe", 35, "Professor", "Math");
teacher.setName("Jane Smith");
teacher.setAge(40);
cout << "Teacher Information:" << endl;
cout << "Name: " << teacher.getName() << endl;
cout << "Age: " << teacher.getAge() << endl;
cout << "Title: " << teacher.getTitle() << endl;
cout << "Subject: " << teacher.getSubject() << endl;
cout << endl;
Student student("Alice Johnson", 20, "Computer Science", "Class A");
student.setAge(21);
cout << "Student Information:" << endl;
cout << "Name: " << student.getName() << endl;
cout << "Age: " << student.getAge() << endl;
cout << "Major: " << student.getMajor() << endl;
cout << "Class: " << student.getClassName() << endl;
return 0;
}
```
这段代码定义了一个基类Base,它包含私有的姓名和年龄数据成员,并提供了相关的成员函数来设置和获取这些数据。
从Base类派生出了Teacher类和Student类。Teacher类有额外的私有数据成员职称和教学科目,以及相应的设置和获取成员函数。Student类有额外的私有数据成员专业和班级,以及相应的设置和获取成员函数。
在main函数中,我们创建了一个Teacher对象和一个Student对象,并演示了如何使用成员函数来设置和获取它们的数据。输出结果显示了每个对象的相关信息。
阅读全文