const修饰的是常成员(常成员函数)
static修饰的静态成员(静态成员函数)
const修饰
如
char* getName() const;
const 声明的函数实现部分也要加const;
常成员函数可以访问常数据成员,也可访问普通数据成员。
常数据成员可以被常成员函数访问,也可被普通成员函数访问。
如果将一个对象说明为一个常对象,则通过该对象只能调用它,而不能调用普通的成员函数的成员函数。
常成员函数不能更新对象的数据成员,也不能调用该类中的普通成员函数
一般用于不需要修改类中值的或者只是用于返回某个值的函数可以作为常成员函数
static修饰
如
static void output()
{};
static int total=0;
不能通过类名来调用类的非静态成员函数
可以直接通过 类名.静态成员函数名 来调用该函数
初始化静态成员:数据类型 类名::静态成员变量名 = 初值
对象和对象之间的数据都是独立的,要想共用数据,则需要使用静态成员和静态方法
静态成员函数不会传递this指针,故不能像普通函数一样用this来指到具体对象中的值