問題タブ [public-members]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++ パブリック変数スコープの混乱
クラスでパブリック変数を宣言すると、そのクラスのメンバーでもある任意の関数からその変数を変更できます。
関数内で変数を宣言する場合、そのスコープは関数の境界を超えません。
では、パブリック クラス変数は本質的に、クラスの任意のメンバーがアクセスおよび変更できるグローバル変数ですか?
その場合、グローバル変数とパブリック変数の違いは何ですか?
c++ - C++ | 派生クラスは、それ自体のプライベート メンバーではなく、基本クラスのプライベート メンバーにアクセスしています
これが明らかな場合は申し訳ありませんが、私は周りを検索しましたが、この問題の解決方法についてはまだ不明です. これが私のコードです:
このコードの出力は次のとおりです。
ご覧のとおり、"owner"、"classifier"、"coil_num" を、ユーザーが変更できないプライベート メンバーにする必要があります。これらは、問題のクラスによっても異なります。
問題:
問題は、出力の最後の 2 行です。派生クラス (ElecMagnet) がこれらのメンバーを返すパブリック関数を継承すると、基本クラスのメンバーが返されます。自分のものではありません。これは、PermMagnet クラスの「classifier」と「coil_num」を返すため、わかります。
派生クラスがこのように動作する理由を誰かが知っていますか? ベースではなく、独自のプライベートメンバーにアクセスするべきではありませんか?