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

*this - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Dev C++ задача на построение графика функции http://www.cyberforum.ru/cpp-beginners/thread785079.html
Недавно начал изучать C++, до этого пытался выучить Си. Следовательно, хочу переделать график ф-ции sin(x) из СИ в C++ по точкам. Вот то, что я сделал в СИ. График строиться нормально, никаких...
C++ Не работает быстрая сортировка для двумерного массива Здравствуйте, возникла проблема, не работает быстрая сортировка по возрастанию абсолютных величин для двумерного массива. Работает только, если столбцов почему-то 3 или меньше, при больших не... http://www.cyberforum.ru/cpp-beginners/thread785072.html
C++ Вращения куба
Куб должен быть с закрашенными сторонами. Вращения по x,y,z. Помогите!!!
C++ Пересчёт времени: MM:SS -> HH:MM
программа пересчета велечины временного интервала заданного в минутах и секундах. в велечину, выраженную в часах и в минутах
C++ Заданы 2 строки, состоящие из слов, разделенных пробелами. Приписать три символа второй строки к первой http://www.cyberforum.ru/cpp-beginners/thread785060.html
Заданы 2 строки, состоящие из слов, разделенных пробелами. Приписать три символа второй строки к первой. Поменять местами в измененной первой строке первое и последнее слово. Можете помочь сделать...
C++ Рекурсию в цикл Здравствуйте. У меня есть рекурсивная ф-ия, но глубина вызова довольно большая, в итоге стек переполняется и прога падает. Подскажите, как переписать ее в виде цикла и как вообще в дальнейшем... подробнее

Показать сообщение отдельно
kebal
9 / 9 / 0
Регистрация: 02.11.2012
Сообщений: 153
13.02.2013, 00:42  [ТС]
Спросить я хотел то, что если писать
return *this;
то обязательно возвращаемое значение функции должно быть типа Object &.
А почему нельзя просто Object?
Если сделать просто Object, то копирование нормально не произойдет, я проверил. Или дать более точный код?

Добавлено через 2 минуты
Вот пример
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
const Polinomials &Polinomials::operator=(const Polinomials &right) 
{
    if (this != &right)
    {
        number = right.number;
        delete [] pPtr;
        pPtr = new int[number];
        assert(pPtr != 0);
        for (int i = 0; i < number; i++)
            pPtr[i] = right.pPtr[i];
    }
    return *this;
}
Если убрать & в определении функции. Затем выполнить присвоение например
first = second;
И если в объекте second значения массива были {0, 1, 2, }, то в первом они будут что-то типа {-12312312,123123,-123123}

Добавлено через 1 час 1 минуту
up^
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru