logo

C++ 静的

C++ では、static はインスタンスではなく型に属するキーワードまたは修飾子です。したがって、インスタンスは静的メンバーにアクセスする必要はありません。 C++ では、静的とは、フィールド、メソッド、コンストラクター、クラス、プロパティ、演算子、およびイベントです。


C++ 静的キーワードの利点

メモリ効率: これで、静的メンバーにアクセスするためのインスタンスを作成する必要がなくなり、メモリが節約されます。また、型に属しているため、インスタンス作成時に毎回メモリを取得するわけではありません。


C++ 静的フィールド

静的として宣言されたフィールドは、静的フィールドと呼ばれます。オブジェクトを作成するたびにメモリを取得するインスタンス フィールドとは異なり、メモリ内に作成される静的フィールドのコピーは 1 つだけです。すべてのオブジェクトで共有されます。

mysql更新参加

これは、Account の場合は rateOfInterest、Employee の場合は companyName など、すべてのオブジェクトの共通プロパティを参照するために使用されます。


C++ 静的フィールドの例

C++ の静的フィールドの簡単な例を見てみましょう。

平均と平均
 #include using namespace std; class Account { public: int accno; //data member (also instance variable) string name; //data member(also instance variable) static float rateOfInterest; Account(int accno, string name) { this-&gt;accno = accno; this-&gt;name = name; } void display() { cout&lt; <accno<< '<<name<< ' '<<rateofinterest<<endl; } }; float account::rateofinterest="6.5;" int main(void) { account a1="Account(201," 'sanjay'); creating an object of employee a2="Account(202," 'nakul'); a1.display(); a2.display(); return 0; < pre> <p>Output:</p> <pre> 201 Sanjay 6.5 202 Nakul 6.5 </pre> <hr> <h2>C++ static field example: Counting Objects</h2> <p>Let&apos;s see another example of static keyword in C++ which counts the objects.</p> <pre> #include using namespace std; class Account { public: int accno; //data member (also instance variable) string name; static int count; Account(int accno, string name) { this-&gt;accno = accno; this-&gt;name = name; count++; } void display() { cout&lt; <accno<<' '<<name<<endl; } }; int account::count="0;" main(void) { account a1="Account(201," 'sanjay'); creating an object of a2="Account(202," 'nakul'); a3="Account(203," 'ranjana'); a1.display(); a2.display(); a3.display(); cout<<'total objects are: '< <account::count; return 0; < pre> <p>Output:</p> <pre> 201 Sanjay 202 Nakul 203 Ranjana Total Objects are: 3 </pre></accno<<'></pre></accno<<>

C++ 静的フィールドの例: オブジェクトの数を数える

オブジェクトをカウントする C++ の静的キーワードの別の例を見てみましょう。

 #include using namespace std; class Account { public: int accno; //data member (also instance variable) string name; static int count; Account(int accno, string name) { this-&gt;accno = accno; this-&gt;name = name; count++; } void display() { cout&lt; <accno<<\' \'<<name<<endl; } }; int account::count="0;" main(void) { account a1="Account(201," \'sanjay\'); creating an object of a2="Account(202," \'nakul\'); a3="Account(203," \'ranjana\'); a1.display(); a2.display(); a3.display(); cout<<\'total objects are: \'< <account::count; return 0; < pre> <p>Output:</p> <pre> 201 Sanjay 202 Nakul 203 Ranjana Total Objects are: 3 </pre></accno<<\'>