テンプレート化された関数を使用してユーザーから入力を取得しようとしています。 int、double、float、およびstringsを入力できるようにしたい。だからここに私がこれまで持っているコードです:テンプレート関数を使用したさまざまなタイプの入力
template<class DataType>
void getInput(string prompt, DataType& inputVar)
{
cout << prompt;
cin >> inputVar;
}
int main()
{
string s;
int i;
float f;
double d;
getInput("String: ", s);
getInput("Int: ", i);
getInput("Float: ", f);
getInput("Double: ", d);
cout << s << ' ' << i << ' ' << f << ' ' << d << endl;
return 0;
}
基本的なタイプのすべての作業は、私が持っている問題はstring
秒を入力してあります。私は1つ以上の単語を入力できるようにしたいと思いますが、私がcinを使用しているという事実には私はできません。それで、入力した複数の単語の文字列も、私がやっているのと同様の方法で基本的な型を入力することができますか?
cin.getline()を使用して、プログラム内の単語を分割することができます –
しかし、int、float、およびdoubleを入力する機能が失われます。 – John
私の答えを参照してください、2番目のリンクを使用することができます。 – evgeny