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

Классы: конструктор копий - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Объединить куски программы в единое целое http://www.cyberforum.ru/cpp-beginners/thread450832.html
добрый день есть следующее задание: "ПОИСК БИТОВОГО ОБРАЗА". Вводится последовательность строк символов не длиннее 16 символов. Каждая строка считается числом (кодом) в двоичной системе и после ввода преобразуется в unsigned int. Допустимые символы в строке: "0", "1". Первая строка длиной не более 5 символов (битов) задает битовый образ для поиска в последующих строках. Окончание входного...
C++ Псевдо генератор случаных чисел Доброго времени суток! Вот есть такая прорамка #include <math.h> #include <stdio.h> #include <conio.h> #include <iostream> using namespace std; #define n 4 #define x01 0.21878104 #define x02 30121 http://www.cyberforum.ru/cpp-beginners/thread450822.html
C++ Пожалуйсто помагите написать эти две задачи на с++
Пожалуйсто помагите написать эти две задачи на с++ ссесию мне бе них не закрыть а никто не понимает((((( ребят если кто знает как сделать помагите буду очень блогодарна!!!!!)))=* Дан двух мерный массив размерностью N x M ( N и M вводиться с клавиатуры). Найти в строках наименьшие элементы. Произвести вывод данного массива в виде матрицы. Дан двухмерный массив размерностью N x M (N и M...
C++ Найти количество всех положительных элементов двумерного массива
Дан двумерный массив размерностью N x M (N и М вводятся с клавиатуры). Найти количество всех положительных элементов данного массива. Произвести вывод данного массива в виде матрицы. помоги пожалуста!
C++ mingw32, SEH, std::exception, setjmp/longjmp, signal http://www.cyberforum.ru/cpp-beginners/thread450793.html
Начал разбираться с вопросом - как понял - есть несколько вариантов: (в порядке обнаружения мною) 1) LibSEH - работает. http://www.programmingunlimited.net/siteexec/content.cgi?page=mingw-seh 2) <eh.h>, _set_se_translator - долго мучался с заголовками, а когда скомпилил - не смог слинковать. 3) <excpt.h> - видимо, недоделанная версия LibSEH - работает неадекватно (или я чего-то не...
C++ Работа с рядками Дан текст. Групы символов, розделеные пропусками которые не содержат пропусков всередині себя, будем называть словами словами.Посчитать , сколько слов в начинаются и заканчиваются одной и той же буквой. подробнее

Показать сообщение отдельно
Luke
37 / 37 / 1
Регистрация: 21.02.2012
Сообщений: 95
22.02.2012, 14:44     Классы: конструктор копий
OKS_by_V, ты все сделал правильно единственное что можно поменять это
C++
1
explicit computer(int value);
ну и еще

C++
1
2
3
4
5
6
7
computer& operator = (computer& temp)
{
        if (this == &temp) 
                return *this;
        this->mark = temp.mark;
return *this; //надо все таки вернуть значение 
}
Объясню почему.

если где то написать
C++
1
computer b = 10;//ну бывает сделал ошибку в программе и не заметил
то это вызов превратится в

C++
1
computer b = computer(10);// этот временный объект будет потом уничтожен.
т.е. вызовется конструктор computer(int value); создастся временный объект computer(10);

explicit - не даст сделать этого неявного приведения
и ты сможешь обнаружить ошибку тут computer b = 10;

так что ты правильно написал оператор присваивания, исправь просто констуктор создания


а это конструктор копирования
C++
1
2
3
4
5
6
computer(const computer& temp)
{
        if (this == &temp) 
                return;
        this->mark = temp.mark;
}
 
Текущее время: 10:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru