首先,請允許我道歉,如果這個問題的標題是模糊的。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