c++ 类中静态变量 static
生活随笔
收集整理的這篇文章主要介紹了
c++ 类中静态变量 static
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
類中的靜態(tài)變量
由于聲明為static的變量只被初始化一次,因?yàn)樗鼈冊(cè)趩为?dú)的靜態(tài)存儲(chǔ)中分配了空間,因此類中的靜態(tài)變量由對(duì)象共享。對(duì)于不同的對(duì)象,不能有相同靜態(tài)變量的多個(gè)副本。也是因?yàn)檫@個(gè)原因,靜態(tài)變量不能使用構(gòu)造函數(shù)初始化。
#include<iostream> using namespace std; class Apple { public: static int i; Apple() { // Do nothing }; }; int main() { Apple obj1; Apple obj2; obj1.i =2; obj2.i = 3; // prints value of i cout << obj1.i<<" "<<obj2.i; }您可以在上面的程序中看到我們已經(jīng)嘗試為多個(gè)對(duì)象創(chuàng)建靜態(tài)變量i的多個(gè)副本。但這并沒有發(fā)生。因此,類中的靜態(tài)變量應(yīng)由用戶使用類外的類名和范圍解析運(yùn)算符顯式初始化,如下所示:
#include<iostream> using namespace std;class Apple { public:static int i;Apple(){// Do nothing}; };int Apple::i = 1;int main() {Apple obj;// prints value of icout << obj.i; }總結(jié)
以上是生活随笔為你收集整理的c++ 类中静态变量 static的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++ 静态变量
- 下一篇: c++ :: 用法一