Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
ForestGump
0 / 0 / 0
Регистрация: 15.09.2015
Сообщений: 4
#1

Возвращение объекта класса из i-го элемента массива - C++

25.09.2015, 07:12. Просмотров 188. Ответов 5
Метки нет (Все метки)

Доброго времени суток!

Помогите, пожалуйста, с выполнением задания лаб. работы.

Необходимо написать функцию, которая б возвращала объект класса из i-го элемента массива.
Перед этой функцией есть другая функция, которая заносит объект класса в i-й элемент массива:

C++
1
2
3
4
5
6
7
8
void Group::PutPerson(int i, Person& map)
 
{
 
    if (i>= 0 && i < 10) p_array[i] = map;
 
            
}
Group - созданный класс,
Person& map - объект класса типа Karta (другого созданного класса)
p_array - указатель на динамический массив объектов
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2015, 07:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Возвращение объекта класса из i-го элемента массива (C++):

Возвращение массива в качестве результата выполнения метода класса (Kubuntu, netBeans, g++) - C++
Всем привет. Пытаюсь написать свой первый демон на C++ по образу и подобию сделанного на PHP. Столкнулся со следующей проблемой. ...

Инициализация объекта из массива объктов класса - C++
Ребята подскажите, как создать массив объектов класса с инициализацией каждого? CLASS1* class1; //нужно к примеру 5 объектов class1...

Возвращение объекта из функции - C++
Почему при возврате объекта из функции этот объект вызывает копирующий конструктор? Почему вообще происходит копирование и что куда...

Возвращение функцией объекта - C++
Здравствуйте. Это пример из книжки. #include &lt;iostream&gt; using namespace std; class MyClass { int val; public: MyClass(int...

Возвращение пустого объекта. - C++
Описан метод поиска структуры по заданным параметрам, который, в случае нахождения этой структуры, в базе данных, возвращает ее в качестве...

Возвращение временного объекта из метода - C++
Доброго времени суток,господа! Сразу к делу: Имеется следующий код: struct Test { int a; //Lets just exist Test(){}...

5
zss
Модератор
Эксперт С++
6636 / 6198 / 2051
Регистрация: 18.12.2011
Сообщений: 16,159
Завершенные тесты: 1
25.09.2015, 08:31 #2
C++
1
2
3
4
Person Group::GetPerson(int i)
{
    return  p_array[i];
}
0
anmartex
...
1708 / 1201 / 496
Регистрация: 12.02.2013
Сообщений: 1,978
25.09.2015, 08:35 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
#include <stdexcept>
// ...
Person& Group::GetPerson(int i) throw(std::out_of_range) {
    if ((i < 0) || (9 < i)) {
        throw std::out_of_range("[0,10)");
    }
    return p_array[i];
}
1
ForestGump
0 / 0 / 0
Регистрация: 15.09.2015
Сообщений: 4
25.09.2015, 09:22  [ТС] #4
anmartex, спасибо огромное от души!!!

ток в моем случае немного подкорректировал:
C++
1
2
3
4
5
6
Person& Group::GetPerson(int i) 
 {
    if ((i < 0) || (9 < i)) 
        
    return p_array[i];
}
На самом деле пробовал писать также,тело функции, а вот ошибся я, как оказалось в описании заголовка функции )):
Group::Person& GetPerson(int i)
Еще раз всем спасибо!
0
Croessmah
Пришел
Эксперт CЭксперт С++
13565 / 7717 / 873
Регистрация: 27.09.2012
Сообщений: 19,000
Записей в блоге: 3
Завершенные тесты: 1
25.09.2015, 09:32 #5
ток в моем случае немного подкорректировал
И какой смысл тогда от проверки?
0
ForestGump
0 / 0 / 0
Регистрация: 15.09.2015
Сообщений: 4
25.09.2015, 12:05  [ТС] #6
ну, у меня компилятор выдал ошибку в варианте:
C++
1
2
3
4
5
throw(std::out_of_range) {
    if ((i < 0) || (9 < i)) {
        throw std::out_of_range("[0,10)");
    }
    return p_array[i];
убрал, ошибки исчезли. не будет работать в итоге?
а такой вариант будет работать?:
C++
1
2
3
4
5
{
    if (i>= 0 && i < 10) 
        
    return p_array[i];
}
компилится без ошибок

Добавлено через 2 часа 17 минут
вариант:
C++
1
2
3
4
5
throw(std::out_of_range) {
    if ((i < 0) || (9 < i)) {
        throw std::out_of_range("[0,10)");
    }
    return p_array[i];
верный, забыл включить #include <stdexcept>
0
25.09.2015, 12:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2015, 12:05
Привет! Вот еще темы с ответами:

Возвращение из функции динамически созданного объекта - C++
Доброго всем времени суток! Столкнулся с такой проблемой. Необходимо создать список, при этом использоваться список планируется внутри...

Тип элемента массива базового класса - C++
Суть задачи такова: есть массив указателей базового класса. Одному из них я присваиваю указатель на производный класс. По логике, этот...

Идентификация класса и возвращение значения - C++
Предположим, у меня есть класс &quot;родитель&quot; и множество классов &quot;наследников&quot;. Предположим, что по условию задачи мне нужно обработать...

Возвращение максимального элемента в массиве - C++
Люди, помогите реализовать функцию int max(int n, int *a), где n-количество элементов в массиве а, а-массив. Функция возвращает индекс...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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