Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.94
Lawlliet
2 / 2 / 0
Регистрация: 25.03.2010
Сообщений: 145
#1

передача объектов в функции и методы - C++

18.09.2012, 22:52. Просмотров 2283. Ответов 4
Метки нет (Все метки)

Как лучше передавать объекты в функции и методы и почему?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2012, 22:52     передача объектов в функции и методы
Посмотрите здесь:

C++ Разработать классы для описанных ниже объектов. Включить в класс методы set (…), get (…), show (…). Определить другие методы
Передача объектов в методы по указателю C++
C++ Передача массива объектов функции
Передача свойств объектов между функциями C++
C++ Передача в функцию динамический массив объектов первого и второго типа
C++ Передача указателей в методы по ссылке
C++ Передача объектов функциям
C++ Передача объектов в функцию: особенности
C++ Передача объектов в аргументы метода
C++ Как правильно вызвать методы, чтобы передать весь массив объектов
Передача объектов функции. Два обращения к функции деструктора C++
C++ Передача объектов функциям(объясните код программы)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
757 / 690 / 124
Регистрация: 27.07.2012
Сообщений: 1,975
Завершенные тесты: 3
18.09.2012, 23:01     передача объектов в функции и методы #2
Смотря что и зачем надо передать.
Если с объектом внутри функции необходимо производить некоторые действия, то объект лучше передать по ссылке.
Если требуется передача копии объекта, то его передают по значению (вызывается конструктор копирования).
Если вызов конструктора копирования нежелателен (например, по соображениям эффективности), но никаких "модификаций" объекта внутри функции не требуется, можно передать объект по константной ссылке.
Если речь идёт о полиморфных классах, то функция, скорее всего, должна принимать указатель на базовый класс, а в неё передаются адреса объектов производных классов.

В общем, много-много "если". Каждой конкретной ситауции - своё решение.
Lawlliet
2 / 2 / 0
Регистрация: 25.03.2010
Сообщений: 145
18.09.2012, 23:04  [ТС]     передача объектов в функции и методы #3
короче говоря,зависит от ситуации. Спасибо
yekka
384 / 148 / 8
Регистрация: 12.05.2011
Сообщений: 450
18.09.2012, 23:05     передача объектов в функции и методы #4
Цитата Сообщение от John Prick Посмотреть сообщение
Если речь идёт о полиморфных классах, то функция, скорее всего, должна принимать указатель на базовый класс, а в неё передаются объекты производных классов.
константная ссылка здесь тоже вполне пригодна.

а передача указателя -- прежде всего для передачи массивов, так как в этом случае ссылкой никак не обойтись
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
19.09.2012, 09:16     передача объектов в функции и методы #5
yekka, Не согласен насчет никак не обойтись.

http://liveworkspace.org/code/0240f4...c4a3fb49ff9e21

А при использовании смартов - вообще будем кидать просто массив смартов, без явного использования указателей. Ну или вектор.
Yandex
Объявления
19.09.2012, 09:16     передача объектов в функции и методы
Ответ Создать тему
Опции темы

Текущее время: 22:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru