我上周在这里创建了一个帖子,但这是一个结构。
Looking to add comma delimited values in a text file to members of a struct
我这里有一个文本文件,带有两个值,一个名称和一个分数。我有一个学生班,有4个成员,如下所示。
我希望将文本文件中的值添加到类中以逗号分隔的相应成员。
students.txt文件的前五行;
Nubia,Dufrene,70
Louisa,Trippe,49
Aline,Deniz,34
Shery,Munk,63
Angila,Ping,89
我当前的代码;
studentType.h
class q1studentType
{
//Private Memebrs
std::string studentFName;
std::string studentLName;
std::string testScore;
char grade;
public:
//Constructor
q1studentType(std::string studentFName,std::string studentLName, std::string testScore);
//Get & Set
std::string const getStudentFName() { return studentFName; }
std::string const getStudentLName() { return studentLName; }
std::string getTestScore() const { return testScore; }
void setStudentFName(std::string fN) { q1studentType::studentFName = fN; }
void setStudentLName(std::string lN) { q1studentType::studentLName = lN; }
void setTestScore(std::string ts) { q1studentType::testScore = ts; }
//Member Functions
void printStudent();
int stringToInt(std::string convertMe);
//std::vector<q1studentType> initStudents();
~q1studentType();
};
studentType.cpp
q1studentType::q1studentType(std::string sFN, std::string sLN, std::string ts)
{
studentFName = sFN;
studentLName = sLN;
testScore = ts;
stringToInt(testScore);
//assignGrade();
}
main.cpp
void initstudents() {
std::vector<q1studentType> students;
std::ifstream inFile("students.txt");
for (q1studentType i;
getline(inFile, i.setStudentFName, ',')
&& getline(inFile, i.setStudentLName, ',')
&& getline(inFile, i.setTestScore)
; )
{
studentVector.push_back(i);
}
}
我认为main函数不起作用,因为getline不接受setMethod作为参数。 我不能在for循环中使用类成员。 i.studentFName,因为它们是私有的,并且只能在类内部访问。
什么是最好的方法?我应该在student.cpp文件或主文件中有inittudents吗?