static
声明为static的类成员称为类的静态成员,用static修饰的成员变量,称之为静态成员变量;用static修饰的成员函数,称之为静态成员函数。静态的成员变量一定要在类外进行初始化
#include <iostream>
using namespace std;
class mine
{
public:
mine(int a, int b, int c);
void GetSum();
private:
int a;
int b;
int c;
static int Sum;//声明静态数据成员
};
int mine::Sum = 0;//定义并初始化静态数据成员
mine::mine(int a,int b,int c)
{
this->a = a;
this->b = b;
this->c = c;
Sum += a + b + c;
}
void mine::GetSum()
{
cout<<"Sum="<<Sum<<endl;
}
int main()
{
mine M(1, 2, 3);
M.GetSum();
mine N(7, 8, 9);
N.GetSum();
M.GetSum();
}
- 静态成员为所有类对象所共享,不属于某个具体的实例
- 静态成员变量必须在类外定义,定义时不添加static关键字
- 类静态成员即可用类名::静态成员或者对象.静态成员来访问
const
const使用(类型)
int const*A;//A可变,*A不可变
int*const A;//A不可变,*A可变
2、限定函数的传递值参数
void function(const int Var);//传递过来的参数在函数内不可以改变
3、限定函数返回值型.
const int function()
4、限定函数类型.
void function()const;//常成员函数,常成员函数是不能改变成员变量值的函数。