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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
ALDem
Сообщений: n/a
#1

Как правильно инициализировать сложный объект? - C++

09.09.2007, 19:31. Просмотров 1135. Ответов 2
Метки нет (Все метки)

Есть три класса:
1) point ->(double z, double y)
2) frame ->содержит CArray<point*,point*>
3) hull ->содержит CArray<frame*,frame*>
Как правильно инициализировать hull и избежать протечек памяти при работе?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2007, 19:31     Как правильно инициализировать сложный объект?
Посмотрите здесь:
C++ Как инициализировать объект типа std::deque<int>?
Как правильно инициализировать статические члены класса? C++
C++ Объекты. Как правильно инициализировать и удалить перемнные
Как правильно инициализировать динамический массив пользовательского класса C++
C++ Как правильно инициализировать данные-члены строкового типа в реализации функции-члена?
C++ Сохранить сложный объект в файл и потом загрузить его
Как правильно вернуть объект созданный в функции? C++
C++ Как правильно передать объект fstream в функцию
C++ Не могу понять, как правильно передать указатель на объект в файл
Как правильно передать объект в функцию при использовании многопоточности C++
Правильно созданный глобальный объект C++
C++ Правильно ли написан default конструктор, инициализирующий объект нулем (0/1)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
10.09.2007, 11:20     Как правильно инициализировать сложный объект? #2
А в чем собственно проблема? Ты уже знаешь предопределенно каким количеством элементов будут заполнены эти массивы? Если да, то стоит подумать, а зачем тебе вообще динамические массивы? Если нет, то в деструкторе каждого из классов проводи очистку массивов.

С уважением, Владимир.
ALDem
Сообщений: n/a
11.09.2007, 17:15     Как правильно инициализировать сложный объект? #3
Спасибо за ответ!
Идея была такая, что объект hull мог содержать произвольное количество объектов *frame ну и т.д. Все это хранится на диске, прога писалась под консоль и я использовал C++ мантпуляторы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class frame
{
public:
 friend istream& operator>>(istream& s, frame& f);
.......
};
 
...
istream& operator>>(istream& s, frame& f)
{
 int max_point;
 s>>f.x_pos>>max_point;//тут конечно-бы проверить
//max_point на вшивость
 for(int i=0;i<max_point;i++) 
 {
   point* fpt = new point();
   s>>(*fpt);
   f.point_array.SetAtGrow(i, fpt);
 }
 return s;
}
Наверное инициализация сделана не совсем корректно.
Возможно есть еще пути?
Могу код прислать.
Yandex
Объявления
11.09.2007, 17:15     Как правильно инициализировать сложный объект?
Ответ Создать тему
Опции темы

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