2010-05-16 106 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不会改变任何东西,因为它不会引入新的类型,只提供同义词。