C++ static

在C++中,static是一个关键字或修饰符,它属于类型而不是实例。因此,不需要实例来访问静态成员。在C++中,static可以是字段、方法、构造函数、类、属性、运算符和事件。

C++ static关键字的优点

内存高效:现在不需要为访问静态成员创建实例,因此它节省内存。此外,它属于类型,所以每次创建实例时,它不会占用内存。

C++静态字段

声明为static的字段称为静态字段。与实例字段不同,每次创建对象时都会分配内存,静态字段在内存中只有一个副本。它是共享给所有对象的。

它用于引用所有对象的公共属性,例如Accountrate OfInterest、Employee的companyName等。

C++静态字段示例

让我们看一个在C++中使用静态字段的简单示例。

#include <iostream>
using namespace std;
class Account {
public:
int accno; // 数据成员(也是实例变量)
string name; // 数据成员(也是实例变量)
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"); // 创建一个Account对象
Account a2=Account(202, "Nakul"); // 创建一个Account对象
a1.display();
a2.display();
return 0;
}

输出:

201 Sanjay 6.5 
202 Nakul 6.5

C++静态字段示例:统计对象数

让我们看另一个使用静态关键字的C++示例,用于计算对象的数量。

#include <iostream>
using namespace std;
class Account {
public:
int accno; // 数据成员(也是实例变量)
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"); // 创建一个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

标签: C++语言, C++语言教程, C++语言技术, C++语言学习, C++语言学习教程, C++语言下载, C++语言开发, C++语言入门教程, C++语言进阶教程, C++语言高级教程, C++语言面试题, C++语言笔试题, C++语言编程思想