转换构造函数有什么用途

在C++中,当一个构造函数只有一个参数,而且该参数又不是本类的const引用时,这种构造函数称为转换构造函数。

转换构造函数要如何理解,从字面上将转换和构造函数分开理解。

1.发生了转换,如何发生转换的?

2.转换构造函数也是一个构造函数,完全可以当构造函数一样使用

先带着这两个问题来看段代码就会明白:

输出:

A a1(1); 这句代码调用构造函数, 调用的是转换构造函数,

A a2 = 2;? 这句代码将int类型转成A类型,如果没有定义转换构造函数,这句代码编译不会通过,这就是转换

注:转换构造函数更多运用是转换,一般都是在隐式情况下调用

因为转换构造函数常发生在隐式调用,也就有了explicit关键字的出现。

《转换构造函数有什么用途》上有1条评论

评论已关闭。