参数化构造函数和转换构造函数之间是否存在任何差异。如果是这样的话是什么?
答案 0 :(得分:5)
参数化构造函数(推测)是任何带有一个或多个参数的构造函数。转换构造函数是一个构造函数,可以使用单个参数调用,并且未声明为显式。
struct A {
A(); // not parameterised or conversion
A( int x, int y ); // paramterised, not conversion
A( int x ); // conversion
explicit A( float z ); // not conversion;
};
编译器可以使用转换构造函数。给出:
void f( A a ) {
}
编译器可以将此函数称为:
f( 42 );
使用转换构造函数将42转换为A类型的对象。