大家帮忙看一下这个程序有问题么,刚学C++,谢谢了

来源:百度知道 编辑:UC知道 时间:2024/05/30 23:25:49
#include<iostream>
using namespace std;
class student
{ public:
void display( )
{
cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
}
void play()
{
cin>>num;
cin>>name;
cin>>sex;
}
private:
int num;
string name;
char sex;
};
student s1,s2;
int main()
{
s1.play();
s2.play();
s1.display();
s2.display();
return 0;
}
编译时给出的错误原因是error C2679: binary '<<' : no operator defined which takes a right-hand operand of type 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' (or there is no acceptable conversion)

加个头文件#include <string>
你的name是string的.

加个头文件#include <string>
你的name是string的.

你在程序中使用了string name;
应当注意:要使用string类的功能时,必须在本文件的开头将c++标准库中的string头文件包含进来,即应加上#include<string>
这一点是与定义基本数据类型变量所不同的!称为string方法。