一、静态成员
静态成员包含静态变量和静态函数。
静态成员的性质:
1、类中的静态数据成员,所有对象都共享这一个成员,这个静态数据成员只有一份存在于内存中
2、类中的静态函数成员,因为他不属于对象,所以在这个函数中只能操作类的静态数据,静态函数
3、类中的静态数据成员,不管共有私有都是在类外进行初始化
(类型 类名::静态成员=初始化值)
4、类中静态数据成员初始化,静态数据成员不属于对象,无法通过对象的操作进行初始化,它是属于类的
5、静态数据成员,可以被重新赋值,可以被普通函数访问
1、静态变量
静态成员变量是一种特殊的成员变量,它被关键字static
修饰
class Student
{
private:
char* m_name;
int m_age;
public:
static int m_total;
public:
Student(const char* name,int age);
void show();
~Student();
};
int Student::m_total = 0;//在类外初始化
Student::Student(const char* name,int age)
{
cout << "带参构造" << endl;
m_name = new char[strlen(name) + 1];
strcpy(m_name, name);
this->m_age = age;
m_total++;
}
void Student::show()
{
cout << m_name<< "\t" << m_age << "\t" << m_total << "\t" <<endl;
}
Student::~Student()
{
cout << "析构" << endl;
if (m_name!=NULL