编程语言
首页 > 编程语言> > C++之单参数构造函数隐式转换

C++之单参数构造函数隐式转换

作者:互联网

 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 修饰修饰

 

标签:调用,C++,oBaseClass3,oBaseClass2,oBaseClass,之单,BaseClass,构造函数
来源: https://www.cnblogs.com/xzlq/p/15222614.html