静态数据成员的理解

来源:互联网 发布:淘宝卖美女的屎 编辑:程序博客网 时间:2024/06/05 13:29
#include <iostream>
using namespace std;
class Account{
public:
    Account(char *Name,char *Psw);
    Account(){ number++; }
    ~Account(){ number--; }
    int getNumber(){return number;}
private:
    char name[10];
    char psw[6];
    static int number; //保存对象个数
};


Account::Account(char *Name,char *Psw){
    strcpy(name,Name);
    strcpy(psw,Psw);
    number++;
}
int Account::number; //定义
void main(){    
    Account za("tom","123456");
    cout<<za.getNumber()<<",";   
  Account a[3];
    cout<<za.getNumber()<<",";
    {
        Account x,y; 
        cout<<za.getNumber()<<",";
    }
    cout<<za.getNumber()<<endl;

}


分析:

构造za number=1

构造数组 number=1+3=4

构造x y number=4+2=6

右括号代表生命的结束,x y 的析构函数被调用 number=6-2=4






原创粉丝点击