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

Копирование содержимого контейнера map - C++

Восстановить пароль Регистрация
 
freakz
2 / 2 / 0
Регистрация: 25.09.2011
Сообщений: 22
14.11.2013, 19:59     Копирование содержимого контейнера map #1
Итак, есть контейнер map<string,fsElem *>, где fsElem - базовый класс, также есть наследуемый от него класс catalog.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class catalog:public fsElem {
private:
    int address;
    catalogStruct *catalogStructure;
    catalog *parentCatalog;
public:
    catalog(const catalog& orig);
};
 
class catalogStruct{
private:
    map<string,fsElem *> structTable;
};
 
class fsElem {
private:
    unsigned char access;
    int size;
};
При копировании класса catalog, которое отрабатывает копирующий конструктор, например, необходимо полностью скопировать содержимое контейнера. Проблема в том, что если просто иметь map<string,fsElem *> ob1,ob2 и сделать ob2=ob1 , то скопируются лишь ссылки на базовый класс, а необходимо независимо скопировать содержимое fsElem * , где, скорее всего, будет ссылка на базовую часть объекта типа catalog. Вызываются ли при ob2=ob1 копирующие конструкторы или операторы присваивания для содержимого контейнера, и как в моем случае правильно копировать классы? Спасибо

Добавлено через 18 часов 49 минут
уважаемые форумчане, кто-нибудь знает ответ на мой вопрос?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2013, 19:59     Копирование содержимого контейнера map
Посмотрите здесь:

Вывод контейнера map C++
сделать вывод содержимого map C++
C++ Использование контейнера map
C++ Разработка контейнера типа Карта (Map)
C++ Вывод содержимого map
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
14.11.2013, 20:20     Копирование содержимого контейнера map #2
Можно, например, написать для этого свой функцию копирования, а можно, например, обернуть указатель fsElem так, что при копировании будет именно то что нам нужно, в общем возможности широки
freakz
2 / 2 / 0
Регистрация: 25.09.2011
Сообщений: 22
14.11.2013, 20:29  [ТС]     Копирование содержимого контейнера map #3
А что понимается под словом "обернуть"? А можно ли перегрузить оператор присваивания для контейнера, мб так будет удобнее?
Aloir
 Аватар для Aloir
216 / 216 / 13
Регистрация: 17.12.2010
Сообщений: 688
14.11.2013, 21:07     Копирование содержимого контейнера map #4
сделать класс/функцию которая облегчает работу с чем-то или вносит свою спецификацию
Yandex
Объявления
14.11.2013, 21:07     Копирование содержимого контейнера map
Ответ Создать тему
Опции темы

Текущее время: 15:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru