Thursday, January 16, 2020

C++ ஸ்டேட்டிக்(static) மெம்பர்கள்



C++ -ல் static என்ற கீவேர்டு அல்லது மாடிஃபையர் ஆனது டைப்பை சார்ந்தது . இன்ஸ்டன்ஸை சார்ந்தது அல்ல. அதாவது கிளாசை சார்ந்தது ஆப்ஜெக்டை சார்ந்தது அல்ல. எனவே static மெம்பரை அனுக ஆப்ஜெக்ட் தேவை அல்ல கிளாஸ் போதுமானது.இது வேரியபிளாகவோ அல்லது ஃபங்க்சனாகவோ இருக்கலாம்

 C++ static keyword நன்மைகள்
ஒவ்வொரு இன்ஸ்டண்டிற்க்கும் ஒரு மெமரி தேவையில்லை. ஒரு கிளாசிற்கு ஒரு மெமரி லொகேசன் தான். இந்த பொதுவான மெமரி லொகேசனில் உள்ள டேட்டாவை எல்லா ஆப்ஜெக்டுகளும் பகிர்ந்து கொள்ளும். எனவே மெமரி சேமிக்கப்படும்.

C++ Static Field
Static கீ வேர்டுடன் அறிவிக்கப்படும் வேரியபிள் ஸ்டேட்டிக் வேரியபிள் ஆகும். இன்ஸ்டண்ட் வேரியபில் அறிவிக்கபடும் பொழுது ஒவ்வொரு வேரியபிளுக்கும் ஒரு மெமரி அலாக்கேட் செய்யப்படும். ஸ்டேட்டிக் வேரியபிளுக்கு ஒரு மெமரி தான்.
இது ஒரு கிளாசின் பொதுவான பண்புகளை குறிப்பிட பயன்படுகின்றது.உதாரணத்திற்க்கு rateOfInterest ஆனது Account கிளாசிற்க்கும் CompanyName ஆனது Employee கிளாசிற்க்கும்

C++ static field சான்று

#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;  
}  
Output:
201 Sanjay 6.5
202 Nakul 6.5

C++ static field சான்று-2

 ஒரு கிளாஸின் ஆப்ஜெக்டுகளின் மொத்த எண்ணிக்கையை அறிந்து கொள்ள கீழ்வரும் சான்று நிரலில் உள்ளவாறு பயன்படுத்தலாம்.
#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;  
}  
Output:
201 Sanjay
202 Nakul
203 Ranjana
Total Objects are: 3
-
நன்றி.
முத்து கார்த்திகேயன்,மதுரை.
ads Udanz

No comments:

Post a Comment