1 BaseClass oBaseClass = "隐式转换构造函数调用"; 2 3 BaseClass oBaseClass2 = oBaseClass; 4 BaseClass oBaseClass3("显示调用构造函数"); 5 oBaseClass3= oBaseClass2; 6 7 auto testFunc = [=](BaseClass oBase) 8 { 9 10 }; 11 12 testFunc(oBaseClass); 13 cout << "===============分割线===========" <<endl; 14 auto testFunc2 = [=](BaseClass &oBase) 15 { 16 17 }; 18 testFunc2(oBaseClass);
BaseClass oBaseClass2 = oBaseClass; 调用的是拷贝构造函数
引用类型不会调用构造函数;
防止隐性转换,可以加explicit 修饰修饰