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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
boolean34
0 / 0 / 0
Регистрация: 26.08.2011
Сообщений: 20
#1

динамически создать/удалить объекты класса (правильно сделал?) - C++

26.04.2012, 14:51. Просмотров 1790. Ответов 2
Метки нет (Все метки)

создал класс:
myclass {
}

завел вектор, в котором будут храниться указатели на объекты данного класса:
vector <myclass*> ob;

создаю новые объекты:
ob.push_back(new myclass) ;

выборочно удаляю объект (допустим третий):
delete ob[2]; // удалили память, которая была отведена под объект класса
ob.erase(ob.begin()+2); // удалили указатель из вектора

все правильно с удалением ??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2012, 14:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос динамически создать/удалить объекты класса (правильно сделал?) (C++):

Поместить в динамически расширяемый массив объекты класса, производные от базового абстрактного класса - C++
Помогите пожалуйста новичку! (мне). Я хочу создать динамически расширяющийся массив указателей на базовый абстрактный класс,...

Можно ли динамически выделить память под массив указателей, на объекты класса? - C++
Прошу прощения если не правильно назвал вопрос. Не знаю как правильно сформулировать. Можно ли строчку VisualizationTools* VT; заменить...

Объекты. Как правильно инициализировать и удалить перемнные - C++
Есть довольно сложная задача. 1-й класс считает. 2-й класс делает интерфейс. Первый от второго получает значения переменных и создает...

Динамически создать и удалить vector - C++
Доброго времени суток у меня имеется двумерный vector объектов класса,добавляю туда элементы создавая одномерный veсtor и push_back к...

Реализовать класс «Проект» и создать объекты данного класса с разными способами инициализации - C++
 -Объявить класс «Проект» с данными номер проекта, сумма, дата исполнения и определить для него конструктор по умолчанию, конструктор...

Какие объекты Вы создавали бы динамически? - C++
Допустим,Вы хотите написать приложение-игру в карты с компьютером.Сначала только функциональную часть,GUI отдельно.Реализация с помощью...

2
extenup
54 / 54 / 3
Регистрация: 12.11.2011
Сообщений: 109
26.04.2012, 15:18 #2
Да, всё правильно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <string>
#include <vector>
using namespace std;
 
class myclass 
{
public:
    int num;
    myclass(int num)
    {
        this->num = num;
    }
};
 
int main()
{
    vector<myclass*> ob;
    for(int i = 0; i < 5; i++)
        ob.push_back(new myclass(i));
 
    cout << "before delete: ";
    for(int i = 0; i < ob.size(); i++) cout << ob[i]->num << " ";
 
    delete ob[2];
    ob.erase(ob.begin() + 2);
 
    cout << endl << "after  delete: ";
    for(int i = 0; i < ob.size(); i++) cout << ob[i]->num << " ";
 
    cout << endl << endl;
    system("pause");
    return 0;
}
0
boolean34
0 / 0 / 0
Регистрация: 26.08.2011
Сообщений: 20
27.04.2012, 06:01  [ТС] #3
ок спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2012, 06:01
Привет! Вот еще темы с ответами:

Правильно ли сделал - C++
Нужно проверить правильно ли я сделал?? #include &lt;iostream.h&gt; #include &lt;math.h&gt; void main() { double k,a,n,m,p; cout...

Правильно ли я сделал? - C++
#include &lt;iostream&gt; using namespace std; int main() { int a,b,c; cin&gt;&gt;a&gt;&gt;b&gt;&gt;c; if ((a+b&gt;c) || (a+c&gt;b) ||...

правильно ли я сделал задание? - C++
правильно ли сделано задание? //предположим, что указатель pa был определен в следующем выражении с использованием оператора new. ...

Правильно ли я сделал пример - C++
http://www.cyberforum.ru/cpp-beginners/thread648042.html#post3434602 Правильно*?


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

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

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