请检查下面一段代码的错误:#include<iostream> using namespace std; class Staff { protected: string name; char sex; string birth; string phone; public: Staff(string n, char s, string b, string p){ name = n; sex = s; birth = b; phone = p; } void display(){ cout << "姓名:" << name << endl; cout << "性别:" << sex << endl; cout << "出生日期:" << birth << endl; cout << "电话:" << phone << endl; } }; class Date { protected: int year,month,day; public: Date( int yy,int mm,int dd){ year=yy; month=mm; day=dd; } void dispaly() { cout<<"生日:"<<year<<"-"<<month<<"-"<<day<<endl; } }; class Teacher : virtual public Staff,virtual public Date { protected: string title; public: Teacher(string n, char s,int yy,int mm,int dd, string p, string t) : Staff(n,s,p),Date(yy,mm,dd) { title = t; } void display(){ Staff::display(); Date::dispaly(); cout << "职称:" << title << endl; } }; class Leader : virtual public Staff,virtual public Date { protected: string duty; public: Leader(string n, char s, int yy, int mm, int dd, string p, string d) : Staff(n,s,p),Date(yy,mm,dd){ duty = d; } void display(){ Staff::display(); Date::dispaly(); cout << "职务:" << duty << endl; } }; class DbTeacher : public Teacher, public Leader { protected: int salary; public: DbTeacher(string n, char s, int yy, int mm, int dd, string p, string t, string d, int sal) : Staff(n,s,p),Date(yy,mm,dd), Teacher(n,s,p,t), Leader(n,s,p,d){ salary = sal; } void display(){ Staff::display(); Date::dispaly(); cout << "职称:" << title << endl; cout << "职务:" << duty << endl; cout << "工资:" << salary << endl; } }; int main() { DbTeacher dt("徐璞昌", 'F', 2003,5,6, "19807168041", "高级教师", "系主任", 999999); dt.display(); return 0; }
时间: 2023-06-27 16:03:58 浏览: 88
代码中有一个小错误,修改如下:
```
#include<iostream>
using namespace std;
class Staff {
protected:
string name;
char sex;
string birth;
string phone;
public:
Staff(string n, char s, string b, string p){
name = n;
sex = s;
birth = b;
phone = p;
}
void display(){
cout << "姓名:" << name << endl;
cout << "性别:" << sex << endl;
cout << "出生日期:" << birth << endl;
cout << "电话:" << phone << endl;
}
};
class Date {
protected:
int year,month,day;
public:
Date(int yy,int mm,int dd){
year=yy; month=mm; day=dd;
}
void display(){
cout<<"生日:"<<year<<"-"<<month<<"-"<<day<<endl;
}
};
class Teacher : virtual public Staff,virtual public Date {
protected:
string title;
public:
Teacher(string n, char s, int yy, int mm, int dd, string p, string t) : Staff(n,s,b,p), Date(yy,mm,dd) {
title = t;
}
void display(){
Staff::display();
Date::display();
cout << "职称:" << title << endl;
}
};
class Leader : virtual public Staff,virtual public Date {
protected:
string duty;
public:
Leader(string n, char s, int yy, int mm, int dd, string p, string d) : Staff(n,s,b,p), Date(yy,mm,dd) {
duty = d;
}
void display(){
Staff::display();
Date::display();
cout << "职务:" << duty << endl;
}
};
class DbTeacher : public Teacher, public Leader {
protected:
int salary;
public:
DbTeacher(string n, char s, int yy, int mm, int dd, string p, string t, string d, int sal) : Staff(n,s,b,p), Date(yy,mm,dd), Teacher(n,s,yy,mm,dd,p,t), Leader(n,s,yy,mm,dd,p,d){
salary = sal;
}
void display(){
Staff::display();
Date::display();
cout << "职称:" << title << endl;
cout << "职务:" << duty << endl;
cout << "工资:" << salary << endl;
}
};
int main() {
DbTeacher dt("徐璞昌", 'F', 2003,5,6, "19807168041", "高级教师", "系主任", 999999);
dt.display();
return 0;
}
```
修改内容:
1. `Date` 类中的 `dispaly` 函数名拼写错误,应该改为 `display`。
2. `Teacher` 类和 `Leader` 类的构造函数中调用 `Staff` 和 `Date` 的构造函数时,缺少了第四个参数 `b`(生日)。
3. `DbTeacher` 类的构造函数中调用 `Teacher` 和 `Leader` 的构造函数时,应该传入完整参数列表。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![text/plain](https://img-home.csdnimg.cn/images/20250102104920.png)
![text/plain](https://img-home.csdnimg.cn/images/20250102104920.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)