2011-12-07 28 views
-1

有沒有一種方法可以使用運算符overloader輸出到文件。據我所知,實際輸出到文件後面的代碼,但我不明白我怎麼會實際上調用overloader開展了該文件 在幫助我理解這一點任何幫助,將不勝感激運算符使用文件重載

+1

超載'operator >>'並使用'ofstream'。 –

+0

從你的問題來看,它確實不是那麼清楚你想要做什麼,所以請澄清一下。 – Grizzly

+4

@larsmans嘿嘿,猜猜你總是錯,就像我一樣,呃?它是'運營商<<':) –

回答

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; 
}