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

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

Войти
Регистрация
Восстановить пароль
 
anklbenz
7 / 7 / 1
Регистрация: 21.12.2012
Сообщений: 68
#1

Параметр функции объект - C++

21.01.2013, 20:02. Просмотров 584. Ответов 5
Метки нет (Все метки)

У меня есть класс Box его наследники с небольшими отличиями классы Brick и Racket

Есть функция принимает параметром объект Box:

C++
1
bool IsCollision(Box &box){...}
могу ли я сделать чтобы функция bool IsCollision(Box &box)
могла принимать параметром классы наследники Brick и Racket
для каждого из них действия в функции одинаковы.

или нужно перегружать функцию по сути копируя, в моем случае, одно и то же.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2013, 20:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Параметр функции объект (C++):

Параметр функции объект класса - C++
Добрый день. Помогите написать функцию void PutPerson(int i, Person & man) #include <iostream> using namespace std; class...

Параметр функции - C++
Задаюсь вопросом для чего это нужно. const string &Function(int &i; int &j) { //код функции. } Адрес у i и j, это понятно...

Параметр функции [out] - C++
Добрый вечер. Возникла такая проблема. Есть функция, ее нужно протестировать. Судя по описанию, у нее 3 входных параметра, это матрица,...

Параметр функции - файл - C++
Как использовать файлы для чтения (ifstream) как параметр функции. Информацию искал, но в большинстве случаев советуют открывать файл уже в...

Необязательный параметр функции - C++
Есть класс с методом add, который в качестве формальных параметров принимает строку и число. Так вот, число не обязательный параметр. ...

Значение из функции в параметр - C++
Здравствуйте. Каким образом можно передать значение переменной, определенное внутри функции в параметр этой же функции?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
21.01.2013, 20:23 #2
Поскольку аргумент имеет тип Box&, то передавать в него можно и любой класс-наследник Box.
Nagdiel
114 / 114 / 3
Регистрация: 23.12.2012
Сообщений: 195
21.01.2013, 20:24 #3
Перегружать не нужно, вместо этого следует передать в качестве параметра функции указатель на базовый класс
C++
1
bool IsCollision(Box *box){...}
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
21.01.2013, 20:25 #4
Менять ссылку на указатель не нужно.
Nagdiel
114 / 114 / 3
Регистрация: 23.12.2012
Сообщений: 195
21.01.2013, 20:34 #5
Герц,
действително, насчет указателя я зря сказал. спасибо
anklbenz
7 / 7 / 1
Регистрация: 21.12.2012
Сообщений: 68
21.01.2013, 20:46  [ТС] #6
Спасибо!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2013, 20:46
Привет! Вот еще темы с ответами:

Выходной параметр функции - C++
Прошу прощения за глупый вопрос:) но не понимаю почему к примеру в коде void getline(char s, int lim) { int c,i; for(i=0;i<lim-1...

Анонимные функции, как параметр - C++
Здравствуйте. Есть проблема - много функций, каждой придумывать имена не хочу, тем более, что они мне не пригодятся. Суть такова: void...

Параметр функции типа float* - C++
Проблема с функциями отладки. Как смотреть значения переменных. Как выводить в отдельное окно. А основная проблема в передаче массива типа...

Ранг матрицы. Параметр функции - C++
Функция для определения ранга матрицы. Что нужно передать в первый аргумент функции? Массив? Массив чего? Указателей? Почему после float...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.01.2013, 20:46
Ответ Создать тему
Опции темы

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