Перегрузка методов
От: burunduk  
Дата: 26.10.05 09:14
Оценка:
Пример кода:

typedef unsigned char PPByte;
typedef unsigned char PPHalfByte;

PPHalfByteStream& operator>>(PPByte& b);
PPHalfByteStream& operator>>(PPHalfByte& hb);

компилятор ругается, что одинаковые описания методов

А можно ли в С++ не определяя классов для PPByte и PPHalfByte указать что это два разных типа ?
Re: Перегрузка методов
От: Lorenzo_LAMAS  
Дата: 26.10.05 09:17
Оценка:
B>А можно ли в С++ не определяя классов для PPByte и PPHalfByte указать что это два разных типа ?

Тайпдефы не вводят новых типов, т.е. без определения своих классов — нет.
Of course, the code must be complete enough to compile and link.
Re: Перегрузка методов
От: Bell Россия  
Дата: 26.10.05 09:20
Оценка:
Здравствуйте, burunduk, Вы писали:

B>Пример кода:


B>typedef unsigned char PPByte;

B>typedef unsigned char PPHalfByte;

B>PPHalfByteStream& operator>>(PPByte& b);

B>PPHalfByteStream& operator>>(PPHalfByte& hb);

B>компилятор ругается, что одинаковые описания методов


Правильно ругается — typedef не вводит нового типа.

B>А можно ли в С++ не определяя классов для PPByte и PPHalfByte указать что это два разных типа ?

Нет.
Любите книгу — источник знаний (с) М.Горький
Re: Перегрузка методов
От: Patalog Россия  
Дата: 26.10.05 12:41
Оценка:
Здравствуйте, burunduk, Вы писали:

хъ

B>А можно ли в С++ не определяя классов для PPByte и PPHalfByte указать что это два разных типа ?


Про нельзя уже сказали, а как получить нужную ф-сть не особо заморачиваясь — см. BOOST_STRONG_TYPEDEF.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Почетный кавалер ордена Совка.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.