#include<iostream>classTest{public:Test(int a){
std::cout << a << std::endl;}};intmain(){
Test t1 =10;// 隐式类型转换:看上去类似赋值,其实是调用构造函数
Test t2(10);// 显示类型转换:显然是调用构造函数// Test t1 = 10; 和 Test t2(10); 两者等同}
Test t1 =10; 就是隐式类型转换
二 如何使用explicit对构造函数进行声明
#include<iostream>classTest{public:explicitTest(int a){
std::cout << a << std::endl;}};intmain(){
Test t1 =10;// (报错)隐式类型转换:看上去类似赋值,其实是调用构造函数
Test t2(10);// 显示类型转换:显然是调用构造函数// Test t1 = 10; 和 Test t2(10); 两者等同}