2011-12-07 6 views
-1

オペレータオーバーローダを使用してファイルに出力する方法はありますか?私は、ファイルへの実際の出力の背後にあるコードを理解が、私は実際にはファイル オペレータがファイルをオーバーロードする

+1

過負荷をいただければ幸い私はこれを理解するうえで任意の助けに出を行うためにoverloaderを起動する方法を私は理解していません'演算子>>'を使い、 'ofstream'を使います。 –

+0

あなたの質問から、それが本当に何をしようとしているのかがはっきりしていないので、ちょっと明確にしてください。 – Grizzly

+4

@larsmans hehe、あなたはそれが私のようなすべての時間が間違っていると思う、heh?これは 'operator <<'です。 –

答えて

1
struct A { 
    int a; 
public: 
    std::ostream& save(std::ostream& out) const { 
     return out << a; 
    } 
    std::istream& load(std::istream& in) { 
     return in >> a; 
    } 
}; 
std::ostream& operator<<(std::ostream& out, const A& obj) { 
    return obj.save(out); 
} 
std::istream& operator>>(std::istream& in, A& obj) { 
    return obj.load(in); 
} 

int main() { 
    A a; 
    std::cin >> a; 
    std::cout << a; 
    return 0; 
} 
関連する問題