という継承関係があり、アップキャストを考える場合などに有用な知識です。また、ファイルストリームでの知識が、以下のように cin でも利用できます。
#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
int n;
while(true) {
cin >> n;
// エラーでない場合
if(! cin.fail()) {
break;
}
// ファイル終端によるエラーの場合
if (cin.eof()) { // cin でファイル終端とは Ctrl-D などのこと。
exit(EXIT_FAILURE);
}
// その他のエラー (int型でない入力)
char ch;
cin.clear(); // ロック解除
cin >> ch; // 読み捨てる
}
cout << "INPUT: " << n << endl;
return 0;
}