質問するログイン新規登録

質問編集履歴

1

補足説明の追加

2021/08/31 03:59

投稿

tkym_1231
tkym_1231

スコア57

title CHANGED
File without changes
body CHANGED
@@ -67,4 +67,22 @@
67
67
  ##質問
68
68
  m_pTxtWriterをコンストラクタで実体化すると、それぞれのclassAで実体を持つことになるので、上記の実装は良くないということは分かるのですが、どのように実装したら良いのか分かりません。
69
69
 
70
- 良い実装方法を教えていただけないでしょうか。
70
+ 良い実装方法を教えていただけないでしょうか。
71
+
72
+ ##補足
73
+ 皆さま、ご回答をありがとうございます。説明不足な点がありましたので、補足させていただきます。
74
+
75
+ classAの仕様として、
76
+ ・TxtWriterクラスはclassAの所有物である。
77
+ ・classAを使う人は、classAのProcess関数を呼んだらテキストに出力されることを期待している
78
+ (classAを使う人にTxtWriterクラスを準備させたくない)
79
+ ・複数のclassAインスタンスの出力先は固定
80
+ という観点から、外部から与えるのではなく、
81
+ > ClassAのstaticなメンバ変数としてTxtWriterの実体または参照先(単純ポインタやstd::shared_ptr<TxtWriter>等)を保持する。
82
+
83
+ という方法が良いかなと考えました。
84
+ もし上記の方法で実装する場合、
85
+ ・TxtWriterクラスは、どのようにしてインスタンス化するのでしょうか?
86
+ ・注意する点(排他制御が必要)などありましたら、教えていただけないでしょうか。
87
+
88
+ 質問ばかりで申し訳ありませんが、よろしくお願いいたします。