1. 概念
数据成员多为私有的,要对它们进行初始化,必须用一个公有函数来进行,这个函数在生成对象的时候会仅自动执行一次;
2. 构造函数
类名();
定义的时候,如果函数写在c文件中,而声明写在类的定义中,那么定义构造函数的时候要写上域名限定符类名::类名()
2.1 缺省的构造函数
- 如果在定义类的时候没有写一个构造函数的话,会默认的把数值赋0;
- 如果定义了其他构造函数,但是没有再写一个缺省构造函数的时候,如果再创建对象但不传参数的话就会报错;
类名 ();//缺省函数的声明
2.2 带参数的构造函数
类名 (参数);//如果参数和数据重名的时候,可以用this指针指向私有变量
2.3 使用初始化列表
类名::类名(double len): length(len)//等同于在函数里面给数据赋值
{
....
}
3. 析构函数
- 函数名:
~类名
- 参数: 没有形参
- 调用的位置:在局部对象释放的时候会自动调用析构函数