多分問題は簡単ですが、このようなことをするベストプラクティスは何ですか?クラスDataがあり、テキストファイルから情報を読み取る必要があるとします。コードの複製せずに、このような機能を実現する方法をC++の重複したコンストラクタとメソッドの機能
Data my_data;
my_data.load("file.txt");
と
Data my_data("file.txt");
:1が等しい動作と、次のオプションの両方を持っている必要がありますか?
ありがとうございました。コンストラクタでload
メンバ関数を再利用することで
コンストラクタのloadメソッドを呼び出すだけです。 –
これは、使用しているものによって異なります。私はそれが最も一般的なシナリオであるため、あなたがまだ何かをロードしていなければ、 'Data'は役に立たないと仮定するつもりです。その場合、コンパイル時に初期化されていない使用エラーをキャッチするために、デフォルトのコンストラクタを提供しない方が安全です。それ以外の場合は、loadを呼び出すコンストラクタの回答が必要なものになります。 – patatahooligan
ありがとうございました。負荷が定義され、コンストラクタの後に実装されている場合、私はなぜ理解できませんが、動作します。 – Denisof