用构造函数来实现对象的初始化以及构造函数的重载

1、c++提供了构造函数来处理对象的初始化,他是一种特殊的成员函数,不需要用户来调用,而是在建立对象时自动执行。

2、有时候我们希望不同的对象需要赋予不同的值,这是需要使用带参数的构造函数。函数首部的一般形式为

              构造函数名(类型1 形参1,类型2 形参2,类型3 形参.......)

              类名 对象名(实参1,实参2,........)

3、构造函数可以有多个,当这些构造函数具有相同的名字,而参数的个数或参数的类型不相同时,形成构造函数的重载。

用构造函数来实现对象的初始化以及构造函数的重载

用构造函数来实现对象的初始化以及构造函数的重载

1、以下Box box1;不要写成Box box1();后者只是声明一个普通函数box1,返回值为Box类型。

2、在建立对象时不必给出实参的构造函数称为默认构造函数,一个类只能有一个默认构造函数。

用构造函数来实现对象的初始化以及构造函数的重载

3、构造函数的调用方法(3种)

    (1)、类名+对象名(参数1,参数2,...) :括号法       class  Aa(1,2);

    (2)、类名+对象名+‘=(参数1,参数2,...)’:等号法       class  Aa=(1,2);   等号后是一个逗号表达式

    (3)、类名+对象名=类名(参数,参数2,...)  :直接调用构造函数法       class  Aa=class(30);

用构造函数来实现对象的初始化以及构造函数的重载

4、copy构造函数的四种调用场景

 用构造函数来实现对象的初始化以及构造函数的重载

用构造函数来实现对象的初始化以及构造函数的重载

用构造函数来实现对象的初始化以及构造函数的重载

用构造函数来实现对象的初始化以及构造函数的重载