class Test
{
private:
char *ptr;
pubic:
};
若Test test1 ("Hello");则调用的是构造函数
若Test test2(test1;则调用的是拷贝构造函数
若Test test2 = test1;则调用的是拷贝构造函数
若Test test2; test2 = test1;则调用的是拷贝构造函数
若Test test2 = "hello";则先调用的是构造函数生成临时对象,然后再调用拷贝构造函数初始化
编译器总的原则是保证运算符两边的类型的一致性。