前提
C++を用いてプログラミングをしています。
他のクラスのメンバの参照方法についての質問です。
初めての質問なのでおかしなところもあるかもしれませんがよろしくお願いします。
発生している問題
class Aのメンバをclass Bで参照したいのですがあまり良い実現方法が思いつきませんでした。
該当のソースコード
C++
1class A{ 2public: 3 4private: 5 int mValue; 6} 7 8class B{ 9public: 10 11private: 12 const int& mReferenceValue; //クラスAのメンバ変数mValueを参照したい。 13} 14 15class User{ 16public: 17 void Execute(){ 18 A a(); 19 B b(); 20 } 21}
考えたこと
class Aにgetterを公開してclass Bのコンストラクタに渡せば解決するのですが一般的にgetterの公開はよくないとされているので躊躇っています。
C++
1class A{ 2public: 3 const int& GetValue(){ 4 return mValue; 5 } 6private: 7 int mValue; 8} 9 10class B{ 11public: 12 B(const int& value) 13 :mReferenceValue(value){} 14private: 15 cosnt int& mReferenceValue; //クラスAのメンバ変数mValueを参照したい。 16} 17 18class User{ 19public: 20 void Execute(){ 21 A a(); 22 B b(a.GetValue()); 23 } 24}
補足情報(FW/ツールのバージョンなど)
C++最新バージョン VisualStudio2022
回答1件
あなたの回答
tips
プレビュー