问题描述
我有一个“实体”类。它有一个用户定义的构造函数(隐式),带有一个参数,如下所示。
class Entity
{
public:
Entity(int a)
{
std::cout << a << std::endl;
}
Entity(const std::string& s)
{
std::cout << s << std::endl;
}
};
int main()
{
Entity e1 = (10,20);
Entity e2 = (10,20,30);
Entity e3 = (10,30,40);
Entity e4 = (std::string("Hello"),std::string("World"));
return 0;
}
上述程序的输出为
20
30
40
World
谁能告诉我为什么只打印传递的最后一个值(整数、字符串)?
注意:如果构造函数是explicit
,那么会出现编译错误。为什么这个输出带有 implicit
构造函数?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)