- 593 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 13:03:19 ]
- >>585
ちょっとややこしいけど、そのコードには、一般によくある勘違いにかすっている 君独自の勘違いがある。 まず、ifstreamはistreamを継承してる。fstreamは、iostreamを継承してる。 そのiostreamが、istreamとostreamを継承してるから、つまり両者に共通する近い祖先はistream。 iostreamはistreamの子だけど、fstreamはifstreamの子ではない。これが一般に良くある勘違い。 で、君はこれを踏まえて、fstreamにifstreamを渡すという、更なる勘違いをしてる。 読み書き両用クラス「が」読み取り専用クラス「の」子であるのは明白なわけで、つまり君は、 このセンスがまだ身についていないか、あるいは、普通に渡すだけでダウンキャストが可能になるという、 C++の仕様に対する勘違いをしていることになる。
|

|