0 / 0 / 0
Регистрация: 15.08.2017
Сообщений: 25
|
||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||
Создать копирующий конструктор для класса матрицы и перегрузить оператор <<16.09.2017, 08:11. Показов 1373. Ответов 13
Пытаюсь создать копирующий конструктор для класса матрицы и перегрузить оператор <<
До этого работало, но копию не выводила Теперь даже просто созданную матрицу не выводит
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
16.09.2017, 08:11 | |
Ответы с готовыми решениями:
13
Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор * Создать конструктор копий и оператор присваивания для класса компьютер и члена класса марка Перегрузить для класса оператор == Перегрузить оператор присваивания для класса |
Каждому свое
532 / 218 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
||||||||||||||||
16.09.2017, 09:14 | 2 | |||||||||||||||
adLer21,
Что значит "возвращает"? Ошибку выдает? Ну во-первых я бы переписал вот так бы:
#include <iomanip> ?В-третьих, конструктор копирования лучше писать по такому шаблону:
0
|
0 / 0 / 0
Регистрация: 15.08.2017
Сообщений: 25
|
||||||
16.09.2017, 09:59 [ТС] | 3 | |||||
iomanip я подключил
Интересно (для меня), что как только я прописываю const перед Matrix &object функции getLine() и getCol() перестают быть доступными и пишет "объект содержит квалификаторы, несовместимые с членом функцию Program::Matrix::getCol() Также mat
0
|
Модератор
![]() 12639 / 10133 / 6102
Регистрация: 18.12.2011
Сообщений: 27,169
|
||||||
16.09.2017, 10:44 | 4 | |||||
не советую использовать его в качестве имени переменной.
0
|
Каждому свое
532 / 218 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|
16.09.2017, 12:05 | 5 |
0
|
0 / 0 / 0
Регистрация: 15.08.2017
Сообщений: 25
|
|
16.09.2017, 12:37 [ТС] | 6 |
Проблема точно не в этом
0
|
16495 / 8988 / 2205
Регистрация: 30.01.2014
Сообщений: 15,611
|
||||||
16.09.2017, 12:47 | 7 | |||||
Так уже указали на ошибку:
Правда так квалифицировать имя внутри класса нельзя, поэтому правильнее было бы так:
0
|
Каждому свое
532 / 218 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|
16.09.2017, 12:48 | 8 |
adLer21,
Ты можешь скинуть полный код, и указать ошибку где и какая? У тебя неоднозначные вопросы, не понятно что ты хочешь
0
|
0 / 0 / 0
Регистрация: 15.08.2017
Сообщений: 25
|
||||||||||||||||
16.09.2017, 13:08 [ТС] | 9 | |||||||||||||||
#include <cstdlib> #include <ctime> #include <iomanip> #include "Matrix.h" using namespace Program;
Я уже окончательно запутался. Вроде как выражение (mat + mat2) должно возвращать новую матрицу Ошибка LNK2019 ссылка на неразрешенный внешний символ "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl Program::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class Program::Matrix)" (??6Program@@YAAAV?$basic_ostream@DU?$char_traits@ D@std@@@std@@AAV12@VMatrix@0@@Z) в функции _main labs_1.5_3semestr C:\Users\Vladislav\Documents\Visual Studio 2015\Projects\c++\labs\labs_1.5_3semestr\labs_1.5_ 3semestr\Source.obj 1 Серьезность Код Описание Проект Файл Строка Состояние подавления Ошибка LNK1120 неразрешенных внешних элементов: 1 labs_1.5_3semestr C:\Users\Vladislav\Documents\Visual Studio 2015\Projects\c++\labs\labs_1.5_3semestr\Debug\lab s_1.5_3semestr.exe 1
0
|
16495 / 8988 / 2205
Регистрация: 30.01.2014
Сообщений: 15,611
|
|||||||||||
16.09.2017, 13:14 | 10 | ||||||||||
В конструкторе копирования забылась инициализация line и col:
29 строка должна быть:
0
|
0 / 0 / 0
Регистрация: 15.08.2017
Сообщений: 25
|
||||||
16.09.2017, 13:23 [ТС] | 11 | |||||
Сейчас попробую
Добавлено через 6 минут А как вот это побороть?
Ошибка (активно) существует несколько операторов "<<", соответствующих этим операндам: labs_1.5_3semestr c:\Users\Vladislav\Documents\Visual Studio 2015\Projects\c++\labs\labs_1.5_3semestr\labs_1.5_ 3semestr\Source.cpp 13
0
|
16495 / 8988 / 2205
Регистрация: 30.01.2014
Сообщений: 15,611
|
|
16.09.2017, 13:27 | 12 |
0
|
16495 / 8988 / 2205
Регистрация: 30.01.2014
Сообщений: 15,611
|
||||||
16.09.2017, 13:33 | 13 | |||||
adLer21, поправил комплексно твой код:
Кликните здесь для просмотра всего текста
Тут онлайн пример: http://rextester.com/IZFI50636
0
|
0 / 0 / 0
Регистрация: 15.08.2017
Сообщений: 25
|
|
16.09.2017, 13:33 [ТС] | 14 |
Фух, спасибо вам огромное за помощь
![]() Вроде как всё заработало, низкий поклон
0
|
16.09.2017, 13:33 | |
Помогаю со студенческими работами здесь
14
Перегрузить для класса оператор == (много ошибок) Как перегрузить оператор для своего класса?
Как правильно перегрузить оператор для шаблона класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |