个性化阅读
专注于IT技术分析

C++静态static解释

本文概述

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


C ++静态关键字的优势

内存高效:现在, 我们无需创建实例来访问静态成员, 因此可以节省内存。而且, 它属于该类型, 因此, 每次创建实例时都不会获取内存。


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
赞(0)
未经允许不得转载:srcmini » C++静态static解释

评论 抢沙发

评论前必须登录!