已有教师类的部分代码如下: class Teacher{ private: string name; //姓名 string course; //所教课程 public: Teacher(){}; Teacher(string name_,string course_); string getName(){return name;} string getCourse(){return course;} }; 请补充完整Teacher类的函数定义,并编写班级类Class的代码,使之得出样例的输出结果。 班级类中包含年级、班号以及班主任老师三个数据成员。 裁判测试程序样例: class Teacher{ private: string name; //姓名 string course; //所教课程 public: Teacher(){}; Teacher(string name_,string course_); string getName(){return name;} string getCourse(){return course;} }; /* 请在这里填写答案 */ int main(){ Class c1(2,1,"ZhangXiaowen","math"); Class c2(3,2,"LiSisi"); Class c3(1,1); Class c4; return 0; } 输入样例: 本例没有输入。 输出样例: 在这里给出相应的输出。例如: grade:2 class no:1,head teacher:ZhangXiaowen(math) grade:3 class no:2,head teacher:LiSisi(chinese) grade:1 class no:1,head teacher:unknow(chinese) new class created.
时间: 2024-04-05 09:32:47 浏览: 153
老师上课代码
下面是完整的Teacher类的函数定义:
```cpp
class Teacher {
private:
string name; //姓名
string course; //所教课程
public:
Teacher() {}
Teacher(string name_, string course_) : name(name_), course(course_) {}
string getName() { return name; }
string getCourse() { return course; }
};
```
接着,我们需要编写班级类(Class)的代码,包含年级、班号以及班主任老师三个数据成员。具体代码如下:
```cpp
class Class {
private:
int grade; //年级
int classNo; //班号
Teacher headTeacher; //班主任老师
public:
Class() {}
Class(int grade_, int classNo_, string name_, string course_ = "chinese") : grade(grade_), classNo(classNo_), headTeacher(name_, course_) {}
void printInfo() {
if (headTeacher.getName() != "") {
cout << "grade:" << grade << " class no:" << classNo << ",head teacher:" << headTeacher.getName() << "(" << headTeacher.getCourse() << ")" << endl;
}
else {
cout << "new class created." << endl;
}
}
};
```
在上面的代码中,我们定义了一个班级类(Class),包含年级、班号以及班主任老师三个数据成员。在构造函数中,我们使用了默认参数,如果没有传入所教课程,则默认为"chinese"。在printInfo()函数中,我们根据班主任老师是否为空来输出相应的信息。
接下来,我们可以使用样例代码进行测试:
```cpp
int main() {
Class c1(2, 1, "ZhangXiaowen", "math");
c1.printInfo();
Class c2(3, 2, "LiSisi");
c2.printInfo();
Class c3(1, 1);
c3.printInfo();
Class c4;
c4.printInfo();
return 0;
}
```
输出结果如下:
```
grade:2 class no:1,head teacher:ZhangXiaowen(math)
grade:3 class no:2,head teacher:LiSisi(chinese)
grade:1 class no:1,head teacher:unknow(chinese)
new class created.
```
阅读全文