この時点で、私はほとんどC++の初心者です。私は Java の経験が豊富なので、C++ の構文仕様にはあまり慣れていません。
そうは言っても、.txt ファイルを (行ごとに) 読み取る小さなアプリケーションを作成しようとしています。各行に含まれるコンマの数に基づいて、それぞれのパラメーターを一時的な t1 または t2 変数に送信します。 、Type1 の t1 と Type2 の t2 です。
Type1 と Type2 は Maintype のサブクラスであり、その後、この「Maintype」から「説明」文字列を継承します。Type1 と Type2 の両方に、それぞれのパラメーター (setName、setSize など) の set() メソッドがありますが、これを機能させることができません。これはこれまでの私の進捗状況です。理解しやすいようにコメントを付けました。
void Test::readFile(string f)
{
int c = 0;
int com = 0;
fstream file;
file.open(f);
string line;
stringstream ss(line);
if (!file)
cout << "File not found!" << endl;
while (!file.eof())
{
c = 0;
getline(file, line, '\n');
if (line.size() > 0)
{
com = count(line.begin(), line.end(), ','); // Count commas
Type1 t1(); // Temporary t1
Type2 t2(); // Temporary t2
String description;
std::string token;
while (std::getline(ss, token, ','))
{ // Might change this while later if necessary
if (c == 0)
{ // First parameter is description
description = token;
c++;
}
else if (com > 1)
{ // If more than one comma
t1.setDesc(description);
t1.setName(token);
// Next token
t1.setSize( /*convert token string to int*/ );
// ---End reading string
// ---Send t1 to a list of Maintypes
}
else
{ // Local natural
t2.setDesc(description);
t2.setTime( /*convert token string to int*/ );
// ---End reading string
// ---Sent t2 to a list of Maintypes
}
}
}
file.close();
}
}
setDesc などを正しく実行していないと確信しています。「式にはクラス型が必要です」と表示されます。これがJavaではないことはわかっていますが、これには慣れていません。また、メソッド自体に関しては、ファイル読み取りソリューションを実装する正しい方法ですか?
どうもありがとう!