|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.06.2010, 16:26 | #1 |
Форумчанин
Регистрация: 25.09.2009
Сообщений: 234
|
C++ Builder функция возвращает ссылку на объект
нужно написать функцию для класса матрицы (перегрузка оператора умножение). Ее прототип такой:
Код:
Как это сделать??? Я сделал вот что(хотя бы так что бы заработало): Код:
|
24.06.2010, 16:32 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
return new Matrix(2,2,2);
?
I'm learning to live...
|
24.06.2010, 16:42 | #3 |
Форумчанин
Регистрация: 25.09.2009
Сообщений: 234
|
неработает.... выдает ошибку
Reference initialized with 'Matrix*volatile', needs lvalue of type 'Matrix' С является результатом неких действий, и соответственно (как я понимаю) надо будет создать С определенного размера, заполнить его и вернуть ссылку. P.S. В инфе по каторой я пишу прогу, сказано: Объект-результат будет создаваться функцией operator* в динамической памяти, а возвращаться будет ссылка на этот объект. Таким образом, прототип функции будет иметь вид: Matrix& Matrix:perator*(Matrix&); как его создать в динамической памяти, и каким образом можно вернуть ссылку на эту память не через локальный объект? |
24.06.2010, 17:16 | #4 |
Форумчанин
Регистрация: 25.09.2009
Сообщений: 234
|
больше ни у кого идей нету?
|
25.06.2010, 10:42 | #5 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
не понимаю зачем здесь вобще возвращать ссылку, у вас матрица не изменяется, а просто возвращается новая.
Код:
непонятно как структура еще выглядит, там двумерный массив что ли? Код:
Последний раз редактировалось NiCola999; 25.06.2010 в 10:50. |
25.06.2010, 18:03 | #6 | |
Форумчанин
Регистрация: 25.09.2009
Сообщений: 234
|
Цитата:
если нужны какие нибудь уточнения по заданию то напишите... (целиком задание, с описанием, слишком грамоздкое... наврядли кто нить захочет читать стока!))) по прежнему жду ваши предложения |
|
25.06.2010, 18:28 | #7 | |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Цитата:
|
|
25.06.2010, 22:07 | #8 |
Форумчанин
Регистрация: 25.09.2009
Сообщений: 234
|
netrino расскажите подробнее (а лучше пример) как можно в функции создать объект в куче и вернуть ссылку на него?
и еще на сколько я понимаю если объект будет существовать (даже в куче) то его можно и удалить с помощью деструктора и ссылки на объект. Поэтому утечки не должно быть... |
25.06.2010, 22:15 | #9 |
Форумчанин
Регистрация: 25.09.2009
Сообщений: 234
|
По поводу задания... вот само задание задание.rar
Там я выделил красных фрагмент в котором говориться видимо о том же способе (про кучу)... ну и в самом задании судя по прототипу требуется сделать именно так. |
25.06.2010, 22:24 | #10 | |
Форумчанин
Регистрация: 06.12.2008
Сообщений: 613
|
Цитата:
Поэтому после выхода этой переменной не будет существовать, а ссылка будет указывать на несуществующий объект, поэтому возвращать ссылку в данном случае нельзя |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Функция не возвращает значения 2.0 | Winlook | PHP | 1 | 10.05.2010 00:58 |
Как сохранить ссылку на объект? | TwiX | Общие вопросы Delphi | 8 | 14.12.2009 09:56 |
Что возвращает эта функция? | D[I]K | Общие вопросы C/C++ | 9 | 07.10.2009 00:32 |
Возможно ли получить обработчиком событий ссылку на объект? | neizerth | Общие вопросы C/C++ | 4 | 15.02.2009 11:00 |
Получить ссылку на вызывающий объект | grenles | Общие вопросы Delphi | 10 | 07.11.2008 12:37 |