构造函数
- 函数名与类名一致
- 构造函数没有返回类型
- 如果定义构造函数则在声明的时候必须使用构造函数
注意事项
- 一个类可以定义多个构造函数,实现构造函数重载。
- 有类的默认初始化函数,是一个空的构造函数。 当且仅当构造函数一个都没写的时候再会自动添加,写了就不能直接创建对象了。
- 拷贝构造函数,写一个对象的引用,用一个对象给一个对象赋初始值。
- 私有构造函数 : 单建模式 ,某个对象只能有一个。
带有缺省值的构造函数
date (int dd = 0,int mm = 0,int yy = 0) {
// 缺少参数的话,直接赋值
// 带有缺省值的函数
}
静态数据成员
static float min
- 所有的实例共享一个内存空间,同一个静态值。也只分配一块空间
- 也可以在方法的前面加 static 与实例无关,直接用类名调用,而不需要先进行实例话。
- static 声明全局变量的话只能在一个文件中使用,文件内的全局变量。
- 在函数中声明静态变量只进行一次赋初始值操作。
Constant
对于函数成员进行只读操作时,可以将其定义成只读类型的方法 (函数) 这样的话就不会因为失误而改变类中的值。
int day () const {
d = d + 1;
// error read-only variable can not be changed
}类的实例也可以设置成只读类型,表示不能对这个东西进行修改
void f (date dat,const date da) { // 传入两个date
// const 变量只能调用 const 函数像上面一样。}