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

Почему конструктор вызывается при присвоении объекта другому объекту - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Специализация шаблона http://www.cyberforum.ru/cpp-beginners/thread1134460.html
Привет, у меня есть вот такой шаблон дерева: template <typename T = int> class Tree{ struct TreeItem{ // элемент дерева T info; // данные TreeItem* LSon; // указатель на левого сына TreeItem* RSon; // указатель на правого сына TreeItem* Father; // необязательно TreeItem (const T info){
C++ Соединение двух 32 битных блоков в 64 битный и обратно Есть переменная __unt64 и две переменных unsigned unsigned int. Могу ли я получить один 64 битный блок из двух 32 битных и обратно? Добавлено через 5 минут Вот пример из ГОСТовского шифрования: for (int i = 0; i < 4; i++) { if (n) { read2.read((char*)(&s2), 1); A += (s2 << (24 - (i * 8))); n--; http://www.cyberforum.ru/cpp-beginners/thread1134451.html
Отсортировать матрицу C++
http://www.cyberforum.ru/cpp-beginners/thread985658.html Вот посмотрите, очень стало интересно я немного не понял условие объясните плиз кто понял
C++ Спроектируйте с использованием TDD класс CTVSet , моделирующий телевизор
Спроектируйте с использованием TDD класс CTVSet , моделирующий телевизор, который может находиться либо в выключенном, либо включенном состоянии. Находясь во включенном состоянии, телевизор способен отображать один из 99 каналов (от 1 до 99). Над телевизором можно выполнять следующие действия: • Выключить. В выключенном состоянии нельзя переключать каналы. • Включить. При своем включении...
C++ Спроектируйте с использованием TDD класс http://www.cyberforum.ru/cpp-beginners/thread1134420.html
Спроектируйте с использованием TDD класс CTVSet , моделирующий телевизор, который может находиться либо в выключенном, либо включенном состоянии. Находясь во включенном состоянии, телевизор способен отображать один из 99 каналов (от 1 до 99). Над телевизором можно выполнять следующие действия: • Выключить. В выключенном состоянии нельзя переключать каналы. • Включить. При своем включении...
C++ При помощи перегрузки функций сделать вывод заданного количества символов на экран Доброй ночи, друзья. Пытаюсь разобраться. Как при помощи перезагрузки функций сделать вывод заданного количества символов на экран? подробнее

Показать сообщение отдельно
Lynatik001
 Аватар для Lynatik001
34 / 28 / 2
Регистрация: 28.09.2012
Сообщений: 569
31.03.2014, 02:30     Почему конструктор вызывается при присвоении объекта другому объекту
оператор+ выполняется нормально, но когда уже переменная в sum, на след шаге она вызывает конструктор, ибо у меня в примере 9 выходит. А в переменной лежит 45(конструктор выполняет ф-ю возведения в многочлен)
Как это понять? Не знал что присвоение вызывает конструктора
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    mch::mch()
    {
        str = 0;
    }
    mch::mch(int tmp){
        str = 0;
        for(int i=0;i<=tmp;i++)
        {
            this->str += i;
        }
    }
 
mch mch::operator+(mch &R){
        int as= str + R.str;
         return str + R.str;
    }
 
    mch k1(2),k2(3),sum,minus,mno;
    sum = k1 + k2;
    cout << "k1 + k2 =  " << sum.str << endl;
Добавлено через 27 минут
на С# точно такой же пример сделал, и нормально работает... А на С++ что за)))
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru