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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Массив указателей на функцию в классе http://www.cyberforum.ru/cpp-beginners/thread1007263.html
Доброго всем времени суток.Пожалуйста помогите разобраться. #include <stdlib.h> #include "iostream" using namespace std; template <class T> //Шаблон Pr класса с параметром T class Pr { T x;
C++ Аргумент функции - указатель на метод класса Здравствуйте. Содержание задания - написать программу, создающую копию выбранного пользователем файла при помощи n-го кол-ва потоков (среда разработки "VS 2012"). Написание программы процедурным методом не вызвало ни каких трудностей. Но вот при написании её же при помощи классов... Суть вопроса в том, что при попытке передать метод класса в виде одного из аргументов в ф-цию CreateThread() -... http://www.cyberforum.ru/cpp-beginners/thread1007262.html
Двумерный динамический массив. Все нечетные строки матрицы сдвинуть циклически на К элементов влево C++
Помогите пожалуйста нужно нужно создать двумерный динамический массив и все нечетные строки матрицы сдвинуть циклически на К элементов влево. Я попыталась хотя бы просто их сдвинуть но у меня не получается не могли бы вы помочь ? #include <iostream> #include <stdlib.h> #include <conio.h> int **formMatr (int &n, int &m) {
Конструкторы C++
dynamic.h #pragma once #include <string.h> #include <iostream> #include <cstdlib> #include <clocale> #include <windows.h> #include <stdio.h> #include <conio.h>
C++ Задача http://www.cyberforum.ru/cpp-beginners/thread1007223.html
#include <iostream> #include <math.h> #include <iomanip> using namespace std; float scor(int n, float x); int main() {
C++ printf("x\te^-x^2\n") printf("x\te^-x^2\n"); если не сложно напишите по русски что тут выполняется подробнее

Показать сообщение отдельно
freakz
2 / 2 / 0
Регистрация: 25.09.2011
Сообщений: 22
14.11.2013, 19:59     Копирование содержимого контейнера map
Итак, есть контейнер 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 минут
уважаемые форумчане, кто-нибудь знает ответ на мой вопрос?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru