Спасибо всем Экспертам за советы. А выручил меня Василевский Александр! Все прекрасно - травка зеленеет солнышко блестит,,,;),,,,НО еще одна ошибка меня мучает //--- [Linker Error] 'D:PROGRAM FILESBORLANDCBUILDER6LIBGLAUX.LIB' contains invalid OMF record, type 0x21 (possibly COFF) //--- Сталкивались ли ВЫ с ней ?? И если знаете объясните еще что такое OMF и COFF ? Запуск coff2omf.exe (как советует хелп) ничего не меняет...
Здравствуйте, Сергей! COFF - Common Object File Format. Формат объектных файлов, принятый для многих платформ. Ответ отправлен: 12.10.2004, 17:07 Отправитель: gAmUssA
Вопрос № 1958
Здравствуйте, уважаемые эксперты. Подскажите пожалуйста, как можно перегрузить например бинарный оператор плюс так что бы можно было выполнить следующую процедуру: с=a+b+c; перегрузка операторов происходит следующим образом: friend A operator+(A& a,A& b); Естественно, что при таком определении выражение не будет считаться (после выполниния операции a+b вернется выражение типа A а не A& как требует функция). Но я не понял как еще можно определить эту функцию, чтобы она работала. Заранее спасибо за ответ.
Добрый день, Вадим! вообще-то, при выполнении a+b или b+c создается анонимный экземпляр A, на который ссылка м.б. получена, так, что все длжно работать, только объявление должно быть friend A operator+(const A& a, const A& b); Ответ отправлен: 13.10.2004, 19:00 Отправитель: bocha Отвечает Василевский Александр
Здравствуйте, Вадим! Объявляйте функция следующим образом: friend A operator +( const A& a, const A& b ); В приложении приведена [работающая] программа. Выражение a+b возвращает объект типа A, ссылка на который передаётся во второй оператор. Здесь всё нормально, так и должно быть. Объявлять результатом функции A& нельзя, т.к. ссылку на локальный объект возвращать нельзя. А вообще, такие вопросы возникают из-за плохого знания темы. Повторите тему "ссылки".
Приложение: Ответ отправлен: 14.10.2004, 09:04 Отправитель: Василевский Александр Отвечает vitya
Добрый день, Вадим! передавайте данные в оператор, как константные ссылки. Так как оператор + не имеет права изменять своие данные (по логике вещей). Ответ отправлен: 14.10.2004, 09:24 Отправитель: vitya
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.