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

Метод класса с копией объекта - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Отнимание двух double http://www.cyberforum.ru/cpp-beginners/thread1834795.html
Решил помочь с задачей в одной теме и наткнулся на одну неведомую мне особенность: при отнимании двух double получается черт знает что. Объясните пожалуйста почему так получается или где ошибка в...
C++ Найти строку массива, в которой меньше всего перемен знака с минуса на плюс Заполните двумерный числовой массив A целыми числами. Найти строку массива, в которой меньше всего перемен знака с минуса на плюс или с плюса на минус и вывести эту строку отдельно. Есть идеи как... http://www.cyberforum.ru/cpp-beginners/thread1834781.html
Выделить в функцию прорисовку круга C++
Помогите выделить в функцию прорисовку круга,а именно вот эту часть for (int j = 0; j < phi; j++) { float x = rad * cos(Pi*j / 180); float y = rad * sin(Pi*j / 180); ...
Написать программу вычисления функции С++ с ветвлением C++
Помогите написать программу, пожалуйста. Не разобрала эту тему, а времени совсем нет :(
C++ Программа выводит числа с указаного интервала которые делятся на 4 но не делятся на 6 http://www.cyberforum.ru/cpp-beginners/thread1834763.html
Программу создал, она работает, но на определенном интервале где нет таких чисел нужно чтобы выводилось "на этом интервале нет таких чисел Код программы #include "stdafx.h" #include <iostream>...
C++ Программирование циклов while, for, do.while Всем доброго времени суток! Помогите пожалуйста с задачей условия таковы: Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x) и Y(x)-S(x) и вывести в виде... подробнее

Показать сообщение отдельно
KaRleone
5 / 5 / 1
Регистрация: 24.08.2013
Сообщений: 66
Завершенные тесты: 2

Метод класса с копией объекта - C++

26.10.2016, 01:44. Просмотров 433. Ответов 25
Метки (Все метки)

Есть класс. Есть метод, который вычисляет одно из полей класса, оперируя другими, но при этом эти другие поля он изменяет. Для того, чтобы этого избежать, я создал копию объекта внутри метода (операции проводятся над двумерным динамическим массивом), чтобы все преобразования осуществлялись внутри этой копии и не портили начальный объект. Однако, в ходе выполнения программы поля объекта как раз меняются. Как избежать изменений внутри объекта?

Добавлено через 6 минут
Цитата Сообщение от KaRleone Посмотреть сообщение
Для того, чтобы этого избежать
"этого" - изменения других полей

Добавлено через 3 минуты
собственно, сам метод:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
void fdet()
    {
        determ = 1;
        MATRIX *r(this);
        double b;
        for (int i = 0; i < a; i++)
        {
            for (int j = i + 1; j < a; j++)
            {
                if (!r->values[i][i])
                {
                    if (!r->values[i][j]) b = 0;
                    else
                    {
                        dtt = 0;
                        return;
                    }
                }
                else b = r->values[j][i] / r->values[i][i];
                for (int k = 0; k < a; k++)
                    r->values[j][k] = r->values[j][k] - r->values[i][k] * b;
            }
            determ *= r->values[i][i];
            dtt = 1;
        }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru