本文概述
- C ++静态关键字的优势
- C ++静态字段
- C ++静态字段示例
- C ++静态字段示例:计数对象
C ++静态关键字的优势【C++静态static解释】内存高效:现在, 我们无需创建实例来访问静态成员, 因此可以节省内存。而且, 它属于该类型, 因此, 每次创建实例时都不会获取内存。
C ++静态字段声明为静态的字段称为静态字段。与实例字段每次创建对象时都会获取内存的实例字段不同, 内存中仅创建了一个静态字段副本。它与所有对象共享。
它用于引用所有对象的公共属性, 例如Account时的rateOfInterest, Employee时的companyName等。
C ++静态字段示例让我们看一下C ++中静态字段的简单示例。
#include <
iostream>
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->
accno = accno;
this->
name = name;
}
void display()
{
cout<
<
accno<
<
"<
<
name<
<
" "<
<
rateOfInterest<
<
endl;
}
};
float Account::rateOfInterest=6.5;
int main(void) {
Account a1 =Account(201, "Sanjay");
//creating an object of Employee
Account a2=Account(202, "Nakul");
//creating an object of Employee
a1.display();
a2.display();
return 0;
}
输出:
C ++静态字段示例:计数对象让我们看一下C ++中static关键字的另一个示例, 该示例对对象进行计数。
#include <
iostream>
using namespace std;
class Account {
public:
int accno;
//data member (also instance variable)
string name;
static int count;
Account(int accno, string name)
{
this->
accno = accno;
this->
name = name;
count++;
}
void display()
{
cout<
<
accno<
<
" "<
<
name<
<
endl;
}
};
int Account::count=0;
int main(void) {
Account a1 =Account(201, "Sanjay");
//creating an object of Account
Account a2=Account(202, "Nakul");
Account a3=Account(203, "Ranjana");
a1.display();
a2.display();
a3.display();
cout<
<
"Total Objects are: "<
<
Account::count;
return 0;
}
输出:
201 Sanjay
202 Nakul
203 Ranjana
Total Objects are: 3