因为我对这个问题(对于 C++03)有疑问,所以我在这里发布它。我刚刚阅读了关于转换构造函数的内容,它指出
“要成为转换构造函数,构造函数必须具有单个参数并且在没有关键字显式的情况下声明。”
现在我的问题是,如果没有明确声明,复制构造函数是否可以称为转换构造函数?它有资格成为一个吗?我相信它不能被称为转换构造函数,因为它只接受相同的类型参数,导致没有转换。例如
foo a;
foo b;
a = 100; //a Conversion constructor would be called (i.e) foo(int a){...}
a = b ; //Since both objects are same type and have been initialized the assignment operator will be called (if there is an overloaded version otherwise the default will be called)
我的理解正确吗?