帮我看看下面代码哪里错了#include<iostream> #include<string> using namespace std; class base{ protected: string name; char sex; public: void getdate(){ cin>>name>>sex; } }; class student:public base{ protected: int score; public: void getdate1(){ void getdate(); cin>>score; } void display1(){ cout<<name<<" "<<sex<<" "<<score; } }; class teacher:public base{ protected: int salary; public: void getdate2(){ getdate(); cin>>salary; } void display2(){ cout<<name<<" "<<sex<<" "<<salary; } }; int main(){ student x1; teacher x2; x1.getdate1(); x1.display1(); x2.getdate2(); x2.display2(); return 0; }
时间: 2024-01-15 13:02:56 浏览: 66
使用include <iostream>时一定要加using namespace std
在 `getdate1()` 函数中,您不需要在调用 `getdate()` 函数时使用 `void` 关键字。修改 `getdate1()` 函数如下:
```
void getdate1(){
getdate();
cin >> score;
}
```
另外,在 `display1()` 和 `display2()` 函数中,应该使用 `endl` 来结束行而不是空格。修改 `display1()` 和 `display2()` 函数如下:
```
void display1(){
cout << name << " " << sex << " " << score << endl;
}
void display2(){
cout << name << " " << sex << " " << salary << endl;
}
```
经过以上修改,代码应该可以正常运行了。
阅读全文