2010-06-23 4 views
6

Если определить тип, как typedef int MY_INT; и перейти к перегрузке, скажем, Adition оператор MY_INT какC++ определения типов и перегрузка операторов

 
MY_INT operator+(MY_INT a, MY_INT b); 

будет

 
MY_INT a, b; 
a + b; 

отличаться от

 
int A, B; 
A + B; 

?

Извините за любые ошибки синтаксиса. Я не рядом с компилятором, и я хочу спросить об этом, прежде чем я забуду об этом.

+0

'MY_INT operator + (MY_INT a, MY_INT b);' Это невозможно, потому что вы можете перегружать только арифметические операторы, когда один из параметров имеет тип класса. – Job

+0

Я отсылаю вас к этому вопросу: http://stackoverflow.com/questions/2135840/whats-the-best-way-to-force-the-user-of-ac-function-to-acknowledge-the-semant – Omnifarious

+0

@Omnifarious, вы предлагаете обертывать 'int' в классе, чтобы я мог перегружать его операторы, не влияя на тип системы? – Anthony

ответ

8

№ Тип typedef на самом деле является псевдонимом для другого типа. Оригинальные и типизированные типы одинаковы.

Смежные вопросы