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

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

Войти
Регистрация
Восстановить пароль
 
Демик
9 / 9 / 0
Регистрация: 19.04.2012
Сообщений: 114
#1

Создание массива классов(обектов класса) - C++

23.06.2013, 23:52. Просмотров 338. Ответов 9
Метки нет (Все метки)

Здрасти, для этого я использую vector
C++
1
std::vector<Sprite> sprites;
После чего пытаюсь добавить объект в этот вектор
C++
1
2
Sprite sp = Sprite(x, y,width,height,texID);
sprites.push_back(sp);
Но у меня ничего не получается, как быть и что делать? Помогите пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2013, 23:52     Создание массива классов(обектов класса)
Посмотрите здесь:

Передача массива классов в метод класса - C++
1. этап. Разработать библиотеку функций(h-файл) для выполнения: – чтения базы данных из файла; //read() – печати на экран; //print()...

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

Создание массива элементов класса - C++
Добрый день. Возможно ли сделать следующий финт: class Device { byte mGroup; public: Device(byte gr=0) { ...

Создание класса по обработке массива. - C++
Помогите, пожалуйста решить!!! Задание: Напишите программу по обработке массива, как объекта созданного Вами класса &quot;Массив&quot; и...

Создание класса по обработке данных массива - C++
Добрый день!!!Помогите в решении задачи на массивы. А то в них вообще бум-бум.. Нужно написать программу по обработке массива, как...

Создание класса шаблона, ассоциативного массива - C++
При компиляции возникают проблемы следующего характера. 1. В конструкторе IContainer компилятор пишет waring: преобразование const double...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
24.06.2013, 00:44     Создание массива классов(обектов класса) #2
В каком смысле не получается?
Можно, кстати, делать так:
C++
1
sprites.push_back(Sprite(x, y,width,height,texID));
Демик
9 / 9 / 0
Регистрация: 19.04.2012
Сообщений: 114
24.06.2013, 01:16  [ТС]     Создание массива классов(обектов класса) #3
@Olivеr, Я в конце концов разобрался, нужно делать так:
C++
1
2
Sprite sp = Sprite(x, y,width,height,texID);
    sprites.push_back(sp);
Но все равно, спасибо, ваш метод гораздо удобнее +)
Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
24.06.2013, 01:19     Создание массива классов(обектов класса) #4
@Демик, в вашем случае в вектор поместится копия sp, то есть будет существовать два таких экземпляра.
Демик
9 / 9 / 0
Регистрация: 19.04.2012
Сообщений: 114
24.06.2013, 01:22  [ТС]     Создание массива классов(обектов класса) #5
@Olivеr, так и думал, что мой способ неверен, сразу как написал была мысль, где же мне это аукнеться = )
а если бы я написал что-то типа
C++
1
2
3
Sprite sp = Sprite(x, y,width,height,texID);
    sprites.push_back(sp);
delete sp;
?
Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
24.06.2013, 01:31     Создание массива классов(обектов класса) #6
@Демик, operator delete можно применять только к указателям, которые указывают на данные размещенные в динамически распределяемой памяти (куче).
Такой код совершенно некорректен.

Лучше скажите, чего конкретно надо добиться, а я подскажу как это сделать.

Добавлено через 1 минуту
Цитата Сообщение от Демик Посмотреть сообщение
так и думал, что мой способ неверен
а вообще, там ошибки нету, я просто говорю, что в векторе будет копия, а не конкретно тот же объект
Демик
9 / 9 / 0
Регистрация: 19.04.2012
Сообщений: 114
24.06.2013, 01:36  [ТС]     Создание массива классов(обектов класса) #7
@Olivеr, я в принципе что хотел уже получил.
MrGluck
Модератор
Эксперт CЭксперт С++
6984 / 4155 / 592
Регистрация: 29.11.2010
Сообщений: 11,021
24.06.2013, 03:26     Создание массива классов(обектов класса) #8
Можно, кстати, делать так:
C++
1
sprites.emplace_back(x, y,width,height,texID);
Добавлено через 13 секунд
P.S. C++11
Демик
9 / 9 / 0
Регистрация: 19.04.2012
Сообщений: 114
24.06.2013, 03:46  [ТС]     Создание массива классов(обектов класса) #9
@MrGluck, какой метод будет более быстрым?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2013, 03:50     Создание массива классов(обектов класса)
Еще ссылки по теме:

Создание массива класса, с установленным конструктором - C++
Не могу разобраться, создаю ссылку на класс в h файле, далее в cpp инициализирую, *.h FILE* file. *.cpp, вот тут мне нужен...

Создание массива экземпляров класса с не стандарным конструктором - C++
Здравствуйте. Подскажите пожалуйста. Есть у меня некий класс Аaa. У него два конструктора - простой и с передаваемым параметром. class...

Создание двумерного массива объектов класса Cell - C++
начал изучать ООП, и возник вопрос с разбором программы: #define EMPTY 0x00 typedef char CellType; typedef int...

Создание объекта класса с полем являющимся объектом другого класса - C++
Bill a; cin&gt;&gt;a;//тут я ввел с помощью перегруженного оператора ElementSpiska c; //поля у Spiska(Bill A,int,string,int) ...


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

Или воспользуйтесь поиском по форуму:
MrGluck
Модератор
Эксперт CЭксперт С++
6984 / 4155 / 592
Регистрация: 29.11.2010
Сообщений: 11,021
24.06.2013, 03:50     Создание массива классов(обектов класса) #10
@Демик, что значит быстрым? Мне вот быстрее набрать с emplace. А по своей сути они идентичны, просто второй использует initializer_list
Yandex
Объявления
24.06.2013, 03:50     Создание массива классов(обектов класса)
Ответ Создать тему
Опции темы

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