2
A
答えて
3
私はあなたがそれらの値を参照の代わりに参照することを意味すると思います。
class FileIOBase
{
...
bool open(const std::string &path);
bool isOpen() const;
void close();
virtual ios& getStream() = 0;
...
};
class InputFile : FileIOBase
{
size_t read(...);
ifstream& getStream();
};
class OutputFile : FileIOBase
{
size_t write(...);
ofstream& getStream();
};
class InputOutputFile : virtual InputFile, virtual OutputFile
{
fstream& getStream();
};
+2
+1のように問題を解決する答えです。今OPはこれが実際にそれらに有用な目的を果たすかどうかを把握する必要があります... –
+0
このような状況のための一般的な解決法はありますか?例えば、一般的なプログラミング技術を使用している。 – p00ya00
+0
@ p00ya00どういう意味ですか? –
関連する問題
- 1. 異なる戻り値の型を持つ列挙型Func
- 2. ジェネリッククラスのメソッドとは異なる戻り値の型
- 3. 関数の戻り値の型が異なります。
- 4. ASP.NET Web APIの戻り値の型が異なります。
- 5. C++、同一のメソッドシグネチャが異なる戻り値の型
- 6. 異なる戻り値
- 7. RxJava 2で異なる戻り値の型(RxJava1から更新)
- 8. collect vs collectFirst - 戻り値が異なる型の理由 - Scala
- 9. は、戻り値の型
- 10. decltype(オート) - 戻り値の型の推論戻り値の型
- 11. 戻り値の型
- 12. 戻り値の型
- 13. 戻り値の型=
- 14. 戻り値の型
- 15. VS2015 C++コルーチン:promise.get_return_object()戻り値の型とコルーチン戻り値の型
- 16. python - 異なる関数の戻り値
- 17. 戻り値型インターフェイス
- 18. なぜfunc1の戻り値の型はUnitですか?func2の戻り値の型はIntですか?
- 19. 戻り値の型(Java)の
- 20. Scalaの戻り値の型
- 21. タスクの戻り値の型
- 22. WEBAPIの戻り値の型
- 23. JRebel:ERROR javax.servlet.ServletException:java.lang.VerifyError:不正な戻り値の型
- 24. Javaラムダ式で異なる戻り値の型を取得する式
- 25. Python docstringで異なる戻り値の型を指定する方法
- 26. C++ Iterators戻り値の型
- 27. C:ether_aton戻り値の型
- 28. Linqと戻り値の型
- 29. 静的戻り値の型
- 30. クラス戻り値の型メソッド
あなたができれば、どのような:その場合は、あなたは、基本クラスで
getStream
がios&
を返すことができ、その後、あなたは彼らがios&
との共変であるため、特定の機能がfstream&
、ifstream&
とofstream&
sを返しますことができますあなたは 'FileIOBase :: getStream()'の結果をどうしたいですか? –@OliCharlesworth 'FileIOBase'は抽象型であるため、おそらく純粋な仮想であると私には思われます。 (実際にそれを実装するのに役立つわけではありませんが、意味論的な質問に答えるでしょう) –
何もありません!私はそれをインターフェイスに追加して派生クラスによる実装を強制したいだけです。私はそれらを派生クラスに通常のメンバーとして追加できることを知っています。派生クラスの数が限られているので実際には理にかなっていますが、私は興味があります! – p00ya00