私は動的なchar
文字列クラスを作成していますが、これは区切り文字まで入力を取得して動的文字列に入れる関数を持っています。C++ - istreamsを保持できる変数?
ストリームを変数に保存する方法があり、cin
またはifstream
のいずれかを保持できる方法があるかと思います。
私は現在、関数のオーバーロードを使用していますが、毎回各関数を編集する必要があります。標準準拠のコンパイラで
私は動的なchar
文字列クラスを作成していますが、これは区切り文字まで入力を取得して動的文字列に入れる関数を持っています。C++ - istreamsを保持できる変数?
ストリームを変数に保存する方法があり、cin
またはifstream
のいずれかを保持できる方法があるかと思います。
私は現在、関数のオーバーロードを使用していますが、毎回各関数を編集する必要があります。標準準拠のコンパイラで
、cin
はistream
のいくつかのサブクラスのインスタンスであり、ifstream
クラスがistream
から継承しています。
これは、すべての機能パラメータとしてistream
(参照、ポインタ...)を使用できることを意味します。
私は現在、関数の読み込みを使用していますが、毎回各関数を編集する必要があります。
あなたは簡単にstd::istream
参照受信することにより、あなたの関数のオーバーロードを減らすことができます。std::istream
などstd::cin
の型から
class MyType {
public:
void get(std::istream& is) {
is >> x >> y;
}
private:
int x;
int y;
};
std::istream& operator>>(std::istream& is, MyType& myType) {
myType.get(is);
return is;
}
std::ifstream
継承しません。したがって、std::istream
のリファレンスに戻ることができます。
私のスペルを訂正していただきありがとうございます! –
ありがとうございました!私は相続財産がロールバックされることを望んでいたが、どのようにしてそれがわからなかった。 –