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

Конструктор копирования не работает - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Упорядочить строки матрицы по возрастанию значений элементов ее главной диагонали методом обмена. http://www.cyberforum.ru/cpp-beginners/thread330153.html
Упорядочить строки матрицы по возрастанию значений элементов ее главной диагонали методом обмена. Может кто-то помочь ?
C++ Затруднение со scanf Вот моя переписанная программа, затрудняюсь со scanf (как переделать на С++ ?) #include <iostream> #include <stdio.h> #include <math.h> #include <windows.h> using namespace std; int main() { SetConsoleCP(1251); //Òóïêà, øðèôò íå çàáóäü Lucida http://www.cyberforum.ru/cpp-beginners/thread330108.html
Удаление столбца и строки в матрице C++
Доброго времени суток всем. У меня возникла следующая проблема при программировании на с++, а конкретно с удалением строки и столбца в матрице(нужно удалить строку и столбец где находится максимальный элемент). Я смог найти максимальный элемент и удалить строку, а при удалении столбца другие столбцы идущие после него переносятся под матрицу, помогите исправить пожайлуста. Вот код программы:...
C++ Дано натуральное число N. Выяснить, сколько положительныхэлементов содержит матрица
Помогите аписать программу на Си, вот условие:Дано натуральное число N. Выяснить, сколько положительных элементов содержит матрица Аij , где i,j=1,....,n; Аij = sin(i^2-j^2/n)
C++ Работа с ФС http://www.cyberforum.ru/cpp-beginners/thread330060.html
Доброго времени суток. Подскажите, есть ли функции в с++ для копирования и перемещения папки, или всеже свою писать придется?) Для файлов знаю есть CopyFile(), ну и любимые досовские комманды.
C++ Запуск почтового клиента c++ День добрый! Возникла следующая задача: при клике по объекту (не важно по какому, да и не важно при каком триггере) должно происходить следующее: открываться почтовый клиент по-умолчанию с уже заполненными данными (которые я туда подсуну - из переменной, или файла или свойства какого другого объекта): "Кому" и Тело самого письма. Как реализовать на C++? Среда - Microsoft Visual Studio... подробнее

Показать сообщение отдельно
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
06.07.2011, 11:48     Конструктор копирования не работает
Цитата Сообщение от DigsiL Посмотреть сообщение
Вот переписал
только не пойму что удалять ???
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    Dictionary (const Dictionary & obj)
    {
        size=obj.size;
        string=new Book [size];
        for (int i=0;i<size;i++)
        {
            string[i]=obj.string[i];
            string[i].term=new char [strlen(obj.string[i].term)+1];
            strcpy(string[i].term,obj.string[i].term);
            string[i].definition=new char [strlen(obj.string[i].definition)+1];
            strcpy(string[i].definition,obj.string[i].definition);
        }
    }
А зачем
C++
1
string[i]=obj.string[i];
у вас в Book оператор присваивания не переопределен, и присваиваться будут просто указатели. После этой строки, string[i].term и obj.string[i].term будут указывать на одну и туже область памяти, после этого вы под этот указатель еще выделяете память, хотя под него память уже была выделена в obj, таким образом происходит утечка.. Ну и с definition аналогично.
 
Текущее время: 10:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru