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

Освобождение памяти из под Объектов в статическом массиве указателей - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка в получение значения (LIFO) http://www.cyberforum.ru/cpp-beginners/thread928798.html
bool CStack::GetVal( int &val) { if(pFirst==NULL) return 0; else { val=pFirst->val; } Elem *pCur=pFirst; pFirst=pFirst->pNext;
C++ Не работает std::cout || std::cin #include "Account.h" #include <string> #include <iostream> using std::cout; Account :: Account(int startBalance) { setBalance(startBalance); } http://www.cyberforum.ru/cpp-beginners/thread928772.html
Вычислить значение выражения C++
жестокая задачка
Указатель, выделение памяти под него C++
подскажите: int *var; *var = 1; и int *var = new int(1); эти 2 разные записи делают одно и тоже? т.е. первая запись тоже выделяет память под указатель? Просто на сколько я вычитал объявляя указатель, я должен обязательно под него выделить память используя оператор new, но в 1-м примере нет оператора new.
C++ Подскажите как написать такое дерево (или БД) http://www.cyberforum.ru/cpp-beginners/thread928741.html
Задача состоит в том, чтобы построить структуру данных по заданному рекурсивному расписанию каталогов. Причем:Все узлы отсортированны по порядковому номеру, в каждом узле должно быть имя, индекс родителя, сортированный вектор из индексов детей. Вот пример: . ./download_client.sh ./random1000_queries_sport.txt ./times.txt ./site ./site/site_kz_domains_random1000_2011-07-26.txt...
C++ Не видит конструктор Приветсвую всех! В общем у меня небольшая проблемка, с которой собственными силами разобраться не смог... Только начиню создавать класс , там определены конструктор и деструктор. Но появляется проблема с созданием экземпляра. Компилятор ругается на неразрешенный символ при вызове конструктора. Во вложениях видно что из экземпляра класса конструктор не доступен (1 картинка), а в самом классе... подробнее

Показать сообщение отдельно
ArkTaS
1 / 1 / 0
Регистрация: 01.07.2013
Сообщений: 127
25.07.2013, 20:53  [ТС]     Освобождение памяти из под Объектов в статическом массиве указателей
Цитата Сообщение от gooseim Посмотреть сообщение
Если статический указатель, то ему можно делать new / delete неограниченное число раз. Если статический массив как в этом случае, то нельзя ни того, ни другого.
Значит поэтому delete arrap[n] работает?! Остается только освобождать память в цикле по одному объекту для каждого указателя ??

Добавлено через 1 минуту
Извиняюсь, забыл в первый раз добавь код определения. В самом низу оно.
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
35
36
37
38
39
40
const int LEN = 32; // Максимальная длина фамилий
const int MAXEM = 100; // максимальное число работников
enum employee_type { tmanager, tscientist, tlaborer };
///////////////////////////////////////////////////////////
 
class laborer;
class manager;
class scientist;
 
class employee // класс employee
{
private:
char name[LEN]; // фамилия работника
unsigned long number; // номер работника
static int n; // текущее число работников
static employee* arrap[]; // массив указателей на класс работников
public:
virtual void getdata()
{
cin.ignore(10, '\n');
cout << " Введите фамилию: "; cin >> name;
cout << " Введите номер: "; cin >> number;
}
virtual void putdata()
{
cout << "\n Фамилия: " << name;
cout << "\n Номер: " << number;
}
virtual employee_type get_type(); // получить тип
static void add(); // добавить работника
static void Del();// удаление работника
static void display(); // вывести данные обо всех
static void read(); // чтение из файла
static void write(); // запись в файл
};
//---------------------------------------------------------
// статические переменные
int employee::n; // текущее число работников
employee* employee::arrap[MAXEM]; // массив указателей на класс работников
///////////////////////////////////////////////////////////
 
Текущее время: 00:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru