我正在写一个小班学生。我的目标是将类对象的数据写入txt文件,然后读取文件中的所有行,并从同一文件中创建适当数量的对象。
这些是私人数据成员
class Student {
char* m_name = new char[1000];
int m_number;
double m_grade;
吸气者:
char* getName () const {return m_name;}
int getNum () const {return m_number;}
double getGrade () const {return m_grade;}
运营商>>:
ostream& operator<< (ostream& ost, const Student& obj){
ost << obj.m_name << endl << obj.m_number << endl << obj.m_grade << endl;
}
(2个对象的txt文件中的信息如下所示)
John Doe
12345
5.67
Jane Doe
98765
66666
4.44
运营商&gt;&gt; (我真的需要建议如何更好地超载它。我不喜欢我是如何做到的。也可以使用&#34; const 学生&amp; obj& #34;作为第二个参数?)
istream& operator>> (istream& ist, Student& obj){
char* temp = new char[255];
int tempNum = 0;
double tempGrade = 0;
ist.getline(temp, 255);
obj.setName(temp);
ist >> tempNum;
ist >> tempGrade;
obj.setNum(tempNum);
obj.setGrade(tempGrade);
}
最后我的加载功能:(它没有工作,运行时(数组边界)错误)
vector<Student> load () {
ifstream ifs ("Data.txt");
while (ifs){
Student temp;
ifs >> temp;
cout << temp << endl;
load.push_back(temp);
}
我真的很感激有关如何使用我的&#34;&gt;&gt;&#34;操作员以及如何超载&#34;&gt;&gt;&#34;更好