首先,请允许我道歉,如果这个问题的标题是模糊的。C++函数返回不同的数据类型
这么说,我想写这将返回一个数字数据类型(全部由我定义),基于函数中的条件中的任何一个功能。从本质上说,我想要做的是这样的:
{
A itemA;
B itemB;
C itemC;
...
Do some calculations
...
if (some condition)
return itemA;
else if (some other condition)
return itemB;
else
return itemC;
}
当然,这个例子是有点做作,但我认为,跨得到我的观点。
的类A,B和C是一些其他的S类的所有子类,但我不希望返回S作为如果我这样做数据都将丢失。此外,即使返回类型超载,它的功能也不会真正改变,这似乎是愚蠢的。那么,这应该是一个模板函数还是还有其他需要做的事情?
感谢,
申报'itemA','itemB'和'itemC'作为指针,动态地分配它们,定义函数返回类型为'S *'(即,指针的基类)。欢迎来到多态的世界。 – 101010
一个函数只能有一个返回类型。如果'S'是返回类型,会丢失什么? – Gabe
我没有想过要这样做,但是我不需要动态地输出结果吗? – user3593978