10 / 10 / 2
Регистрация: 13.02.2012
Сообщений: 94
|
|
1 | |
Класс вектор18.07.2013, 08:43. Показов 7664. Ответов 25
Метки нет (Все метки)
Не могу разобраться с этим классом, прошу помощи и в объяснении(задание очень объёмное ещё), проблема с самим вектором тоже есть.
Разработать класс вектор размерности n. Определить несколько конструкторов , в том числе и конструктор копирования. Реализовать методы для вычисления модуля вектора, скалярного произведения, сложения,вычитания, умножения на константу. Перегрузить операции сложения, вычитания, умножения, инкремента, декремента, индексирования, присваивания для данного класса. Написать программу, демонстрирующую работу с классом. Создать массив объектов. Написать функцию, которая для заданной пары векторов будет определять, явл ли они коллинеарными или ортогональными.
0
|
18.07.2013, 08:43 | |
Ответы с готовыми решениями:
25
Класс "вектор" с конструкторами, позволяющими создать нулевой вектор и вектор с произвольным числом элементов Создать класс, полем которого является класс вектор Класс-вектор в С++ Вектор класс |
18.07.2013, 09:35 | 2 |
Fintt, так чего же вы хотите? Что бы для вас полностью написали данный класс или подсказали в решении конкретного вопроса?
Если первое то вам лучше обратиться к фрилансерам, второе - задавайте конкретный вопрос. Однако самому стало интересно написать данную программу, но это у меня потребует около часа времени плюс я сейчас на работе.
1
|
10 / 10 / 2
Регистрация: 13.02.2012
Сообщений: 94
|
|
18.07.2013, 09:54 [ТС] | 3 |
Это всего лишь моя 2 задача. Первую я с лёгкостью справился и понятно всё, а тут появились конструкторы, деструкторы и т.д. и много всего и сразу. Потом я не помню про вектора. Заного вспоминать школу как-то не хочется и я не прогр С++. Ну если всё вопрос закрыт, буду бодаться сам с ним)) У меня на это уйдёт явно не час а больше суток.
0
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
18.07.2013, 09:57 | 4 |
В этой постановке задачи под вектором понимается не направленный отрезок, а динамический массив.
Хорошая задача для первой-второй лабы. Можно только отправить в книги, если нет конкретных вопросов.
1
|
18.07.2013, 09:59 | 5 |
Почему все? Я же сказал уже пишу.
Большенство операций делается дружественными ф-ми ну и перегрузка операторов. Как сказал 0x10 все это подробно описанно в книгах. Вопрос в том, что возможно вы пока до этого не дочитали.
1
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
18.07.2013, 10:17 | 7 |
Мой косяк, несколько раз перечитывал, но последнего предложения не замечал.
Тогда... Все только проще.
0
|
18.07.2013, 11:58 | 8 | ||||||||||
Начал было писать данную программку столкнулся с проблемой:
Заодно вопрос как этой ф-и лучше возвратить значение? Пока должен возвращаться мусор так как temp локальная переменная. *Проверки на равенство размеров векторов пока нет!
0
|
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
|
|
18.07.2013, 13:00 | 9 |
Ilot, а почему в конструкторе по умолчанию у вас n=3 именно? И я бы посоветовал сразу забубенить в конструкторах обнуление. И конструктор копирования надо бы создать( всётаки имеете дело с указателями). Лишнем точно не было бы. Да и присваивание допилить бы.
0
|
Неэпический
|
||||||
18.07.2013, 13:12 | 11 | |||||
Добавьте конструктор копий.
не подсматривать
1
|
18.07.2013, 13:18 | 12 |
Croessmah, а можете объяснить в двух словах для чего он нужен?
Так как я тоже пытался написать подобный конструктор, но у меня почему-то ничего не получилось. А хотя постойте... я кажется передавал в конструктор переменную по значению, а значит вызывался тот же конструктор и так до бесконечности. Эм.. я правильно это понимаю?
0
|
Неэпический
|
|||||||||||
18.07.2013, 13:22 | 13 | ||||||||||
Для правильного построения копии объекта.
Конструктор копий, который сгенерирует компилятор, сделает примерно следующее:
1
|
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
|
||||||
18.07.2013, 13:59 | 14 | |||||
Ilot, он нужен для передачи параметра в функцию, для возвращения параметра из функци. Ты как бы когда передаёшь в функцию параметр, срабатывает конструктор копирования, затем в функции ты работаешь с копией. Затем копия уничтожается и вот тут и подобные косяки.
Добавлено через 2 минуты Ilot, а оператор присваивания типо такого:
первое сравнение необходимо для само присваивания.
1
|
18.07.2013, 14:25 | 15 | |||||
Я недавно читал, что есть конструктор копирования и оператор присвоения. Как я понимаю сейчас речь идет о них самых. Хотелось бы разъяснить:
-когда мы передаем переменную по значению в функцию вызывается конструктор копирования. Если передаем по ссылке ничего не создается и мы работаем с объектом на который создается ссылка. Это правильно? -когда и для чего вызывается конструктор vektor(const vektor & src) как указал Croessmah? Я этого не понимаю ведь по идее вот здесь:
0
|
Неэпический
|
|||||||||||
18.07.2013, 14:42 | 16 | ||||||||||
Да.
конструктор копий будет вызван при возврате значения:
а после того, как произведен выход из функции будет вызван перегруженный оператор присваивания Добавлено через 4 минуты Может так будет проще понять:
1
|
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
|
|
18.07.2013, 14:43 | 17 |
Croessmah, разрешите дополнить:
Той копии которую сделал конструткор копирования. А потом копия уничтожется. И без конструктора копирования дырка получится.
0
|
10 / 10 / 2
Регистрация: 13.02.2012
Сообщений: 94
|
||||||
18.07.2013, 15:07 [ТС] | 19 | |||||
В первой задаче были они по умолчанию
Спасибо за то что отклинулись, я сейчас уже разбираюсь в этой задаче, и сижу с тремя книгами.
0
|
18.07.2013, 15:15 | 20 |
Fintt, НИ СЦЫ. Сейчас доведу до ума свой код и выложу. Как ни как тебе будет уже легче.
1
|
18.07.2013, 15:15 | |
18.07.2013, 15:15 | |
Помогаю со студенческими работами здесь
20
Класс Вектор Класс Вектор Класс вектор Класс вектор Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |