クラスでメンバー変数を宣言できprivate static
ますが、それはどういう意味ですか?
違いprivate static
とpublic static
メンバー変数は何ですか?
クラスでメンバー変数を宣言できprivate static
ますが、それはどういう意味ですか?
違いprivate static
とpublic static
メンバー変数は何ですか?
これは、これらの変数には、クラス自体以外の場所ではアクセスできないことを意味します。
public
メンバーはクラス外からアクセスできます。
protected
メンバーはクラス内でアクセスでき、その派生クラスと
private
メンバーはクラス内でのみアクセスできます。
static
同じアクセス仕様ルールであるかどうかにかかわらず、メンバーがそれに適用されることに注意してください。
static
ストレージ仕様を意味し、一部のメンバーはクラスのすべてのインスタンスで共有され、メンバーにアクセスできる場所は変更されません。
良い読み物:
変数とは、宣言されているクラスのスコープ内でのみアクセスできることを意味します。private
つまり、クラスの外部で宣言されている関数は、プライベート変数にアクセス(読み取りまたは書き込み)できません。
変数をとして宣言static
するということは、そのクラスのすべてのインスタンスで同じ値を保持することを意味します。
と呼ばれる静的なintメンバーを持つクラスAがあるとします。
class A {
public:
static int a;
};
そして、あなたが使用するのと同じように、あなたのメイン関数からこれにアクセスするとしましょう
int new_variable = A::a;
アクセス指定子はパブリックであるため、これは正常に機能します。
次に、パブリックからプライベート(または保護)に変更します。プライベートメンバーにはクラス自体からのみアクセスできるため、コードはコンパイルされません。
private
情報を非表示にし( )、オブジェクト変数の代わりにクラス変数を使用する必要がある場合は、これを実行することをお勧めします( static
)