2010-05-16 48 views
6

假設我的typedef的整數或整數陣列或任何已知類型:的typedef和操作符重載在C++

typedef int int2 

然後我重載operator *爲INT2對,現在如果我初始化變量a和b爲INT。那麼我的*之間a和b是超載*?

我該如何實現重載一個int,同時也以int的方式使用*。我應該創建一個新的類型?

+0

也許用枚舉,而不是一個int?您可以爲枚舉定義自定義運算符。 – supercat 2010-08-11 17:18:10

回答

9

假設你在談論C++:
運算符重載必須至少採用一個用戶定義類型的參數。 typedef不會改變任何東西,因爲它不會引入新的類型,只提供同義詞。