程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> c++靜態那些事

c++靜態那些事

編輯:C++入門知識

[cpp]
#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(); 

#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();
}

結果:

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

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved