我有以下代碼使用類定義讀取文本文件。我創建了TermGrade.h文件和TermGrade.cpp文件。但是我得到了一些錯誤:C++類讀取文本文件 - 獲取錯誤
在TermGrade.h文件中,我得到了一個警告,即它沒有爲定義的函數(Readdata,MidsemesterScore,FinalScore和LetterGrade)找到定義,即使我已經在其中定義了它們。 cpp文件。
但是,主要問題是在TermGrade.cpp文件中,我得到錯誤「錯誤:沒有重載函數的實例」getline「與參數列表匹配」,並且它也抱怨標識符「inLine」未定義,但它不會在下一個聲明中抱怨inline,但是該聲明表示 dataLines [lineNumber]未定義!我是否需要在.cpp文件中定義這些變量?任何幫助將不勝感激。
謝謝, 比爾。
// TermGrade.h file
#ifndef TERMGRADE_H
#define TERMGRADE_H
#include <string>
#include<iostream>
#include<fstream>
using namespace std;
class TermGrade {
public:
TermGrade(string fileName) {};
string StudentID;
int assignments;
int exam1;
int exam2;
int final;
bool records = true;
private:
string inLine;
string dataLines[100];
int lineNumber = 0;
bool Readdata(istream& in); // Read line of data from input file
double MidsemesterScore() const; // Calculates average
double FinalScore() const; // Calculates average
char LetterGrade() const; // Determines grade
}; // end class Termgrade
#endif
// TermGrade.cpp file
#include "TermGrade.h" // TermGrade class definition
#include<iostream>
#include<fstream>
TermGrade::TermGrade(string fileName) {
ifstream infile;
infile.open(fileName);
}
bool Readdata(istream& infile)
{
if (!infile.eof)
{
getline(infile, inLine);
dataLines[lineNumber] = inLine;
return true;
}
return false;
}
double MidsemesterScore()
{
return 0.0;
}
double FinalScore()
{
return 0.0;
}
char LetterGrade()
{
return 'a';
}
你打算如何從'Readdata'函數中獲取數據?它不能訪問'this-> inLine',因爲'Readdata'不是'TermGrade'的成員。 –