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

Конструктор копирования матриц, и заполнение лишнего нулями - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поиск в ширину http://www.cyberforum.ru/cpp-beginners/thread682770.html
Здравствуйте, я ознакомился с поиском в ширину в общем виде, знаю принцип работы, для чего используеться, но задаюсь вопросом об реализации! Допустим нам дан граф, начальная и конечная вершины. Как...
C++ Однонаправленный линейный список 2-мя массивами Добрый день нужна помощь в написании программы на с++. Надо создать однонаправленный линейный список при помощи 2 массивов. 1 массив содержит данные а второй указатели на эти данные. После... http://www.cyberforum.ru/cpp-beginners/thread682761.html
Напечатать матрицу по k элементов в строке C++
Дана целочисленная матрица T(N, L), N<=7, L<=9. Напечатать матрицу по k элементов в строке (2<=k<=6). При этом k<=L. Напечатать также номера строки столбцов. Например при N = 2, L = 5, k = 3 для...
C++ Инициализация массива char в конструкторе
Вопрос такой. Есть класс simple, в классе есть поле char in. Естественно хочу инициализировать это поле в конструкторе. in={0}, инициализировать соответственно нулем, но что-то не так, что не так?
C++ Не могу скомпилировать unreal engine 3 http://www.cyberforum.ru/cpp-beginners/thread682717.html
Привет, решил попробовать скомпилировать исходники движка unreal engine 3, но после компилирование не знаю куда сохранился exe файл движка :). Исходники могу кинуть, они публичные.
C++ Частичная специализация шаблона Доброго всем времени суток! Помогите разобраться в следующей ситуации. Есть шаблон класса #include <iostream> using namespace std; template<class A, int val> подробнее

Показать сообщение отдельно
denys_l
52 / 52 / 4
Регистрация: 26.09.2011
Сообщений: 186
29.10.2012, 13:52
Смотри у тебя создается копия объекта Q, он у тебя не присваивается. При передаче объекта в функцию, передается сам объект, не его копия... при выходе из функции этот объект уничтожится и далее он будет недоступен

Добавлено через 15 минут
попробуй этот
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
Matrix Matrix::operator= ( const Matrix &obj ) {
    if ( this == &obj )
        return *this;
    
 
    //если наша матрица меньше , то берем размер размер obj
    //иначе оставляем свой размер
int r = m < obj.m ?  obj.m : m;
    int c = n < obj.n ?  obj.n : n;
 
    //забиваем массив нулями
    for ( int i = 0; i < m; i++ ) {
        for ( int j = 0; j < n; j++) {
                M [ i ] [ j ] = 0;          
        }
    }
    //копируем obj
    for ( int i = 0; i < r; i++ ) {
        for ( int j = 0; j < c; j++) {
                M [ i ] [ j ] = obj.M[r][c];            
        }
    }
    
    return *this;
}
Добавлено через 1 минуту
ну и методы придется добавить, о которых я говорил, т.к. m и n - закрытые данные члены и прямого доступа мы к ним не имеем
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru