c++靜態那些事

來源:互聯網
上載者:User

 

 

 

 

 

#include <QtCore/QCoreApplication>#include <iostream>#include <stdio.h>using namespace std;class A{public:    A();    static void GetStaticNum();  //靜態函數    void GetNum();  //普通函數    void UseStatic();   //普通函數調用靜態函數    int j;    //普通變數成員    static int i;   //靜態成員變數};int A::i = 0;   //靜態成員變數初始化A::A(){    j=2;}void A::GetStaticNum(){    i++;    cout<<"wyz=========GetStaticNum() i="<<i<<endl;}void A::GetNum(){    j++;    cout<<"wyz=========GetNum() i="<<i<<endl;    cout<<"wyz=========GetNum() j="<<j<<endl;}void A::UseStatic(){    static int k =0;    //靜態變數    k++;    cout<<"wyz=========UseStatic() k="<<k<<endl;    GetStaticNum();}int main(int argc, char *argv[]){    QCoreApplication a(argc, argv);     A aa1;    aa1.GetNum();    A aa2;    aa2.GetNum();    A aaa1;    aaa1.GetStaticNum();    //靜態函數調用方法一    A::GetStaticNum();          //靜態函數調用方法二    A *aa = new A();    aa->GetNum();    aa->UseStatic();    aa->UseStatic();    delete aa;    return 0;    return a.exec();}

結果:

Starting /root/qtdir/StaticFunc-build-desktop/StaticFunc...wyz=========GetNum() i=0wyz=========GetNum() j=3wyz=========GetNum() i=0wyz=========GetNum() j=3wyz=========GetStaticNum() i=1wyz=========GetStaticNum() i=2wyz=========GetNum() i=2wyz=========GetNum() j=3wyz=========UseStatic() k=1wyz=========GetStaticNum() i=3wyz=========UseStatic() k=2wyz=========GetStaticNum() i=4/root/qtdir/StaticFunc-build-desktop/StaticFunc exited with code 0

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.