4 / 4 / 14
Регистрация: 03.03.2013
Сообщений: 55
|
|||||||||||||||||||||||||||||||
Класс "вектор" с конструкторами, позволяющими создать нулевой вектор и вектор с произвольным числом элементов06.03.2014, 00:13. Показов 7630. Ответов 5
Метки нет Все метки)
(
Привет!
Задача следующая. Нужно реализовать класс "вектор" с конструкторами, которые позволяют создать нулевой вектор и вектор с произвольным кол-во элементов. И требуется перегрузить ряд операций. Пока что перегружены [], =, +. Но где-то ошибка и я не понимаю где. При варианте
Вот код и вывод комплятора =) main.cpp
0
|
06.03.2014, 00:13 | |
Ответы с готовыми решениями:
5
Создать класс вектор с несколькими конструкторами
Создать клас ВЕКТОР целых чисел. Разработать класс СТЕК, который вмещает объект класса ВЕКТОР |
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
06.03.2014, 00:25 | |
пока не придумал почему там при конверсии какие-то неоднозначности, но решение может быть таким:
сигнатуры функций нужно подправить. если функция работает с толстым объектом и не модифицирует его, то желательно его передавать по константной ссылке (если нет мува по крайней мере): CVector(const CVector &obj); CVector& operator=(const CVector& obj); CVector operator+(const CVector& obj) const;
1
|
![]() |
|
07.03.2014, 00:04 | |
После изменений какие предупреждения выдаёт?
Тут тоже следует подправить: void PrintVector( const char * str, CVector & obj )
1
|
19468 / 10077 / 2456
Регистрация: 30.01.2014
Сообщений: 17,763
|
||||
07.03.2014, 00:12 | ||||
Советы: там, где вектор не изменяется - его следует передавать по константной ссылке. методы, которые не изменяют состояние объекта вектора, следует помечать как const (в примере DU это есть). функция exit крайне не рекомендуется к использованию в программах на С++, т.к. выход из программы игнорирует все конструкторы уже созданных объектов, что может приводить к утечкам ресурсов (для спорщиков: да, я знаю, что память отдается системе после выхода, но память не единственный ресурс). для operator[] принято реализовывать две версии, неконстантную и константную (не позволяет менять объекты внутри вектора, только читать). Есть еще замечания, но по сравнению с озвученным - это уже придирки.
1
|
4 / 4 / 14
Регистрация: 03.03.2013
Сообщений: 55
|
|
07.03.2014, 01:21 [ТС] | |
castaway, если подправить PrintVector, тоже больше никаких предупреждений не выводится.
DrOffset, с UB и rvalue более менее понятно. С exit - тоже. Всем большое спасибо!
0
|
07.03.2014, 01:21 | |
Помогаю со студенческими работами здесь
6
Класс вектор с конструкторами и операциями
Матрицу [3][4] из матрицы сформировать вектор первые элементы это первый ряд и тд вектор отсортировать вектор по > Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
|
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
|
Dispose и Finalize в C#
stackOverflow 12.06.2025
Работая с C# больше десяти лет, я снова и снова наблюдаю одну и ту же историю: разработчики наивно полагаются на сборщик мусора, как на волшебную палочку, которая решит все проблемы с памятью. Да,. . .
|
Повышаем производительность игры на Unity 6 с GPU Resident Drawer
GameUnited 11.06.2025
Недавно копался в новых фичах Unity 6 и наткнулся на GPU Resident Drawer - штуку, которая заставила меня присвистнуть от удивления. По сути, это внутренний механизм рендеринга, который автоматически. . .
|
Множества в Python
py-thonny 11.06.2025
В Python существует множество структур данных, но иногда я сталкиваюсь с задачами, где ни списки, ни словари не дают оптимального решения. Часто это происходит, когда мне нужно быстро проверять. . .
|
Работа с ccache/sccache в рамках C++
Loafer 11.06.2025
Утилиты ccache и sccache занимаются тем, что кешируют промежуточные результаты компиляции, таким образом ускоряя последующие компиляции проекта. Это означает, что если проект будет компилироваться. . .
|
Настройка MTProxy
Loafer 11.06.2025
Дополнительная информация к инструкции по настройке MTProxy:
Перед сборкой проекта необходимо добавить флаг -fcommon в конец переменной CFLAGS в Makefile.
Через crontab -e добавить задачу:
0 3. . .
|
Изучаем Docker: что это, как использовать и как это работает
Mr. Docker 10.06.2025
Суть Docker проста - это платформа для разработки, доставки и запуска приложений в контейнерах. Контейнер, если говорить образно, это запечатанная коробка, в которой находится ваше приложение вместе. . .
|
Тип Record в C#
stackOverflow 10.06.2025
Многие годы я разрабатывал приложения на C#, используя классы для всего подряд - и мне это казалось естественным. Но со временем, особенно в крупных проектах, я стал замечать, что простые классы. . .
|
Разработка плагина для Minecraft
Javaican 09.06.2025
За годы существования Minecraft сформировалась сложная экосистема серверов. Оригинальный (ванильный) сервер не поддерживает плагины, поэтому сообщество разработало множество альтернатив. CraftBukkit. . .
|