我有疑問,它正確地支持不同類型的自定義類的運營商? 假設我們有這樣的:支持重載操作符的不同類型?
template<class T>
class C { /* Class implemantation */ }
int main() {
C<int> someObject;
C<double> otherObject;
std::cout << someObject + otherObject;
}
這是正確的,以支持運營商+的C對象OT類型爲int和double類型的C對象?
C一般支持這兩種類型嗎?是否有一種有意義的方式來爲這兩種類型實現'+'運算符? – IllusiveBrian
這取決於你。你可以使它自動工作。你可以這樣做,用戶需要製作一個static_cast(轉換運算符)。或者你可以禁止它。自動化的問題是哪種類型應該優先? –