[英]need for deriving iostream from istream and ostream
在學習I/O
我遇到了:
iostream:istream 從流中讀取,ostream 向流寫入,iostream 讀寫流:派生自 istream 和 ostream
如果istream
和ostream
做同樣的工作,繼承的必要性是什么?
正是通過使iostream
從istream
和ostream
繼承,您將獲得一個支持輸入和輸出以及兩個接口(來自istream
和ostream
)的類。 這並不意味着功能是重復的,它只是意味着istream
和ostream
的接口及其實現被重用。
作家和讀者的原型是
class MyClass;
std::ostream& operator<< (std::ostream stream&, const MyClass &obj)
{
obj->WriteTo(stream);
return stream;
}
std::istream& operator>> (std::istream stream&, MyClass &obj)
{
obj->ReadFrom(stream);
return stream;
}
這些函數(尤其是編寫器)在MyClass
的成員上調用較低級別的流函數。
從std::istream
和std::ostream
派生std::iostream
意味着您可以將std::iostream
的實例傳遞給任一函數,並且它會自動傳入std::iostream
的正確部分。
std::istream
和std::ostream
靜態派生自std::ios
,其中包含它們的公共代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.