有两个类:A
和B
。有一些算法可以将类型 A
转换为类型 B
并返回。我们无法触及它们的源代码。我可以编写两种类型之间的隐式转换吗?
应该工作的示例代码:
B CalculateSomething(double x)
{
A a(x);
a.DoSomethingComplicated();
return a;
}
最佳答案
不,我不这么认为。隐式转换通常使用重载运算符进行编码。它也适用于基本类型。由于您无法修改 A 和 B 代码,因此无法告诉编译器如何修改。您的代码段会出错。
您必须进行显式转换。只是
return helper.convertToB(a);
我的2c
关于c++ - 第三方类型之间的隐式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2424066/