构造函数和析构函数 第 0章
2021/2/24 1 第 10章 构造函数和析构函数
构造函数 回顾变量和函数参数的初始化。 变量定义与赋值结合起来: int number=9902 函数应用缺省参数: void add (int a=0, int b=0) 目的便于编程、保证变量的值不会无意义, 减小程序出错的可能性。 2021/224
2021/2/24 2 构造函数 回顾变量和函数参数的初始化。 变量 定义与赋值结合起来: int number=9902; 函数 应用缺省参数: void add(int a=0,int b=0); 目的 便于编程、保证变量的值不会无意义, 减小程序出错的可能性
对象的数据成员进行初始化的三种方法: 1使用初始化数据列表的方法; 2通过构造函数实现初始化; 3通过对象的拷贝初始化函数。 例1:使用初始化数据列表的方法对新产生的对象初 始化。 执行后输出: 25张 7789956 此方法只能对类的公有数据成员初始化,而不 能对私有的或保护的数据成员进行初始化。通常 用构造函数来实现初始化。 2021/224
2021/2/24 3 对象的数据成员进行初始化的三种方法: 1.使用初始化数据列表的方法; 2.通过构造函数实现初始化; 3.通过对象的拷贝初始化函数。 例1:使用初始化数据列表的方法对新产生的对象初 始化。 执行后输出: 101 25 张 三 77.8 99.56 此方法只能对类的公有数据成员初始化,而不 能对私有的或保护的数据成员进行初始化。通常 用构造函数来实现初始化
定义构造函数 构造函数创建并初始化类的数据成员。 类中构造函数的定义类名(参数表) 类外构造函数的定义类名::类名(参数表); 例2:使用构造函数对新产生的对象初始化。 执行后输出: 102 25张三778 99.56 2021/224
2021/2/24 4 定义构造函数 类中构造函数的定义 类名(参数表); 构造函数 创建并初始化类的数据成员。 类外构造函数的定义 类名::类名(参数表); 例2:使用构造函数对新产生的对象初始化。 执行后输出: 102 25 张 三 77.8 99.56
构造函数的特点: 1.与类同名。 2.没有返回值。 3.可以定义多个构造函数。 在创建对象时被自动调用。 5.可以不带参数,也可带若干个参数,还可以指定 参数的缺省值。 6.当定义的类要说明该类的对象时,构造函数是公 有的成员函数;当定义的类仅用于派生其他类时, 可定义为保护的成员函数 2021/224 5
2021/2/24 5 构造函数的特点: 1. 与类同名。 2. 没有返回值。 3. 可以定义多个构造函数。 4. 在创建对象时被自动调用。 5. 可以不带参数,也可带若干个参数,还可以指定 参数的缺省值。 6. 当定义的类要说明该类的对象时,构造函数是公 有的成员函数;当定义的类仅用于派生其他类时, 可定义为保护的成员函数