静态成员
静态成员不属于任何一个实例化的对象,属于整个类,任意一个对象对静态变量进行修改都会影响其他对象的这个变量的数值。
在头文件中声明,但不能初始化
在类外声进行声明和初始化。放在类的.cpp文件内的类外就可以初始化。
声明静态变量
在头文件中声明。
可以声明为公共或私有。
<Phone.h>
#pragma once
#include<iostream>
using namespace std;
class Phone {
public:
string name;
Phone();
Phone(string name);
Phone(const Phone& p);
~Phone();
void getc();
private:
//声明静态变量存储总数
static int count;
};
初始化静态成员
要在类外进行初始化,可以放在cpp文件内的最后。
但不能放在.h文件的最后
<phone.cpp>
#include"Phone.h"
Phone::Phone() {
cout << "Phone 的 默认 函数 调用" << endl;
}
Phone::Phone(string name) :name(name) {
cout << "Phone构造函数调用" << endl;
count++;
}
Phone::Phone(const Phone &p) {
cout << "Phone 的 拷贝 函数调用" << endl;
count++;
}
Phone::