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

Конструктор и деструктор в классе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массив карт http://www.cyberforum.ru/cpp-beginners/thread627469.html
Нужно ввести поток карт, для дальнейшей сортировки. Карта представлена как два символа - (вес) + (масть). Вводится сразу два символа, без пробелов. Дальше идет следующая карта через пробел. Сортировать буду по весу. Так понял, что лучше организовать массив из массива Char . Как это сделать лучше?
C++ функция работает неверно #include <iostream> using namespace std; int zamena(char*, char, char); int main() { char str; cout<<"Enter string: "; cin.getline(str, 20); cout<<"\nenter the two characters "; char c1, c2; http://www.cyberforum.ru/cpp-beginners/thread627452.html
C++ Сохранить медиа-поток в файл
Я принимаю медиа-поток MPEG2-TS по UDP, вот код #include <iostream> #include <stdio.h> #include <fcntl.h> #if defined(__linux__) #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h>
C++ Память под объекты через new
#include <iostream> class A { public: int my; }; int main()
C++ basic_istream::getline http://www.cyberforum.ru/cpp-beginners/thread627403.html
Всем здравствуйте. Изучаю С++ по книге Р. Лафоре в главе 7 массивы и строки есть задание которое предполагает получение строки, содержащей пробелы в переменную типа string и тут при выполнении задания я столкнулся с непонятным поведением функции basic_istream::getline вот пример кода который показывает проблему: #include <iostream> #include <string> using namespace std; const int...
C++ Не могу найти ошибку (std::thread) В цикле добавляю в свой класс несколько задач, всегда получается разный результат, иногда вылетает исключение о недействительности итератора дека. #ifndef _NFTASK_MANAGER_HPP #define _NFTASK_MANAGER_HPP #include <thread> #include <deque> #include <vector> #include <new> подробнее

Показать сообщение отдельно
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5816 / 1214 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
23.07.2012, 11:41     Конструктор и деструктор в классе
Алексaндр, если самому не сделать конструктор копирования, будет работать конструктор копирования по умолчанию. В данном случае он совершенно не подходит, т.к. использует побитовое копирование данных. После копирования данных через default copy конструктор, строка другого объекта данного класса будет ссылаться на ту же область памяти, что и строка первого объекта. В результате освобождения памяти произойдет утечка.

C++
1
2
3
4
5
String(const String &obj)
{
    str = new char [strlen(obj.str) + 1];
    strcpy(str, obj.str);
}
 
Текущее время: 17:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru