目录
static关键字
static关键字在类内有以下几种用法:
(1)静态局部变量
(2)静态成员变量
(3)静态成员函数
(1)静态局部变量
使用static关键字修饰局部变量就是静态局部变量。
用static修饰静态变量后,此类内中所有的对象都共享一个静态变量。
静态局部变量所在的韩束第一次被调用时,静态局部变量创建,在程序结束时销毁。
(2)静态成员变量
成员变量使用static修饰就是静态成员变量,静态成员变量具有以下特点:
(1)此类的所有对象共用此变量
(2)非const的静态成员变量通常需要类内声明,类外初始化
(3)静态成员变量可以直接使用类名::来调用,更推荐使用此方式
(4)静态成员变量在程序运行时创建,在程序结束时销毁
(3)静态成员函数
成员函数使用static修饰就是静态成员函数,静态成员函数的特点有:
(1)静态成员函数不能访问此类中非静态成员,因为没有this指针
(2)静态成员函数只能调用本类中静态的成员
(3)非静态成员函数可以调用静态成员
(4)除了可以使用当前类对象调用静态成员函数外,也可以直接使用类名::调用
(5)如果静态成员函数声明与定义分离,只需要在声明处使用static修饰
const关键字
在C++中,虽然认为const表示常量的意思,但是严格地讲,const并不是常量。
因为C++中const只能在程序的运行期间只读,即在编译期可以改变数值
常成员函数
const修饰的成员函数,表示常成员函数,这种函数的特点是:
(1)可以调用本类中非const的成员变量,但不能修改其数值
(2)不能调用非const的成员函数
建议成员函数只要不修改成员变量值就写为常成员函数,例如getter
常量对象
const修饰对象,表示该对象为常量对象,其特点有:
(1)常量对象的任何属性值不能被修改
(2)常量对象不能调用任何非const的成员函数
const修饰对象时,const关键字可以写在类名前面,也可以类名后面。
例:constTest t1;
Test const t2;
常成员变量
使用const修饰成员变量,表示该成员变量为常成员变量,其特点有: