(1)形式上
类名(形参列表)//普通构造函数的声明,如Box(int h ,int w,int len);
类名(类名 & 对象名)//复制构造函数的声明,如Box(Box &b);
(2)在建立对象时,实参不同,系统会根据参数来决定调用哪个构造函数
Box box1(12,15,37);//实参为整数,调用普通构造函数
Box box2(box1);//实参是对象名,调用复制构造函数
(3)在什么情况下调用
普通构造函数在程序中建立对象时被调用。
复制构造函数在用已有的对象复制一个新对象时被调用,在以下3种情况下需要克隆对象:
1)程序中需要新建一个对象,并用另外一个同乐的对象对它初始化,
2)当函数的参数为类的对象时。
3)函数返回值是类的对象时。