构造函数: 在如下定义时调用: T t; T *s = new T[n];
T(){
cout<<"T::T()"<
拷贝构造函数: 如下定义时调用: T a; T b(a); T c = a; (拷贝引用对象的成员, b和c等于调用了拷贝构造函数;只在初始化且参数是本类型时才会调用, 如c = a 时不会调用, 因为它不是在初始化时).
T(T& a){
cout<<"T::T(T&)"<
析构函数: 在对象销毁是调用.
~T(){
cout<<"T::~T()"<
默认的拷贝构造函数,它默认复制引用对象的所有成员, 你也可以对它进行重载来完成成员变量的自定义,如指针的空间分配.
前面是普通的传入参数,后者是引用,功能和穿指针差不多,但使用上没指针那么麻烦,里面的值改了,外面的值也变了
#include