此次主要想要学习静态数据成员与静态成员函数
静态是以static进行声明
其是属于类而不属于对象;即一个类只会对静态分配一个存储空间,无论创建n个对象,静态成员的存储只会有一个,而其他非静态成员会有n个
**静态成员必须在类外进行初始化
例如我这次忘记定义
int student::total=0;
系统一直报错ld returned 1 exit status
为了实现对静态数据成员的使用,一般采用静态成员函数来操作;
**静态成员函数不可访问非静态数据成员
没有this指针
不能被声明为const
#include<iostream>
using namespace std;
class student{
public:
static int total;
static gettotal(){cout<<"total number is "<<total;}
student(long a,int b,char c);
~student(){total--;}
private:
long id;
int age;
char sex;
};
int student::total=0;
student::student(long a,int b,char c){
total++;
id=a;
age=b;
sex=c;
}
int main(){
student a(10000000,21,'f');
student b(10000001,21,'m');
student c(10000010,22,'m');
student *p=new student(10000011,21,'f');
student::gettotal();
cout<<endl;
delete p;
student::gettotal();
return 0;
}