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

С++ оператор присвоения - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти самое длинное слово http://www.cyberforum.ru/cpp-beginners/thread1003585.html
Здравствуйте. Мне нужно найти самое длинное слово в предложении и его порядковый номер. Как сделать, чтоб ввод завершался с нажатием клавиши "Enter", а не нажиманием Ctrl+Z на новой строке, как сейчас. И можно ли вводить русский текст? #include <iostream> #include <string> #include <iterator> using namespace std; typedef istream_iterator< string> str_in_it;
C++ Подсчет количества вершин дерева на заданном уровне Напишите пожалуйста Проги для нахождения количества вершин для дерева на заданном уровне, и кто сможет помогите посчитать сложность алгоритма http://www.cyberforum.ru/cpp-beginners/thread1003551.html
C++ Подключение библиотек в MVS12E
Здравствуйте, я начал изучать программирование на С++ OpenGL. Я нашел туториал, в котором написано, что нужно подключить библиотеки OpenGL32.lib GLu32.lib GLaux.lib Вот у меня возникает вопрос, где их взять и как их подключить? Я использую Microsoft Visual Studio 2012 Express буду благодарен, если вы мне поможете.
C++ Организация библиотеки
Написал набор классов и функций для своего удобства, чтобы подключать их в любом проекте. Всего получилось 35 файлов. Поместил я эти файлы и деректорию Include моей студии. Когда в проекте подключаю файл и использую какую либо функцию, выпадает ошибка, ССылка на нерасрешенную лексему..... Исправляется все если я все эти файлы складываю в папку проекта и ВКЛЮЧАЮ их а сам проект. Что я не так...
C++ Абстрактные и производные классы С++ http://www.cyberforum.ru/cpp-beginners/thread1003517.html
Проблема: Есть базовый класс "Фигура", и производные: "Точка", "Круг", "Прямоугольник", "Треугольник". Надо сделать чистую виртуальную функцию Transform, и переопределить её в производных классах. Принцип работы функции Transform: функция должна трансформировать точку в круг, круг в прямоугольник, прямоугольник в треугольник. Когда я пытался реализовать данную функцию то наткнулся на...
C++ Ошибка с классом в C++ #include <iostream> using namespace std; class Cat { public: Cat(int initAge); ~Cat(); void SetAge(int age); int GetAge(); private: int Age; подробнее

Показать сообщение отдельно
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
10.11.2013, 17:38     С++ оператор присвоения
Shaman163, я твой говнокод не смотрел, но понял в чом причина, ты просто видимо при присваивании ссылку передаешь на ту же самую область памяти, а нужно заново новую область памяти выделять. В операторе присваивания новую область памяти выделяй и в нее копируй значение из объекта который ты хочешь присвоить, а то у тебя получается раз деструктор вызвался для ячейки допустим по адресу1 и ты снова в другом деструкторе уничтожаешь тот же самый адресс1, поэтому и ошибка.

Добавлено через 4 минуты
Shaman163, возможно ошибка из за того что ты тут копию объекта вернул Bitmap Bitmap::operator=(const Bitmap right), а нужно ссылку, возможно вызвался деструктор в автопамяти и удалил адрес который ты выделил.
 
Текущее время: 05:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru