Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Вывод полей класса после сравнения Проблема: (Нужно отыскать нужный фильм и вывести данные об нем.) Если еще конкретнее, то почему после успешного сравнения некорректно выводятся данные об фильме: название выводится правильно, а вот жанру фильма почемуто ставится в соотвествие данные следующего за ним поля ?? (Ход решения и 2 скрина с входными данными и результатом работы см.ниже). Имеется класс "фильмы" с полями назвиние,... https://www.cyberforum.ru/ cpp-beginners/ thread303324.html C++ консольная программа с выводом меню
Помогите пожалуйста!!! Написать программу, которая выводит на экран меню: 1. Запись чисел в файл 2. Поиск в файле наименьшего числа и его порядкового номера 3. Выведения на экран содержимого файла 4. Выход из программы Программа работает в цикле и продолжает роботу пока не будет выбрано пункт меню 4. При виборе 1 пункту меню происходит запись введенных с клавиатуры чисел в файл с именем...
C++ В чем заблуждение? (структуры) https://www.cyberforum.ru/ cpp-beginners/ thread303303.html
вообщем, программа, структура, сожержащая в себе информацию об авторах книг, их названии и тираже. нужно вывести самого популярного автора. выводит. Но если их несколько например Пушкин 20 книг и Лермонтов 20 книг, нужно написать, что самого популярного автора нет. привожу текст программы, ниже вопрос. #include<stdio.h> #include<string.h> typedef struct {char avtor; ...
C++ Вывести дату, следующую за указанной Даны два целых числа: D(день) и M(месяц), определяющие правильную дату невысокосного года. Вывести значения D и M для даты, следующей за указанной. https://www.cyberforum.ru/ cpp-beginners/ thread303294.html
Получить все такие натуральные q, что n делится на qв квадрате и не делится на q в кубе C++
Дано натуральное число n. Получить все такие натуральные q, что n делится на qв квадрате и не делится на q в кубе. В С++, желательно с комментариями, на сколько возможно, конечно=))спасибо!
C++ Сложение пар чисел в одномерном массиве https://www.cyberforum.ru/ cpp-beginners/ thread303287.html
Здравствуйте. Подскажите пожалуйста как можно реализовать такого вида код: дан массив из 4 чисел, найти все возможные суммы чисел. Например числа:1, 2 ,3, 4. Результат: 1+2 1+3 1+4 2+3 2+4 3+4
C++ Вычислить сумму элементов массива с нечетными элементами https://www.cyberforum.ru/ cpp-beginners/ thread303277.html
Помогите написать программу на языке Си + с пояснениями В одномерном массиве, состоящий из N действительных элементов, вычислить: • сумму элементов массива с нечетными элементами; • сумму элементов массива, расположенных между первым и последним отрицательными элементами.
Деревья(нерекурсивно) C++
Проверить, что в заданном дереве для каждой вершины длина левой ветви равна длине правой ветви.
C++ STL__Графы Граф задан набором дуг (неориентированных) и набором вершин. Найти все изолированные вершины, т.е. вершины, из которых не исходит ни одной дуги. https://www.cyberforum.ru/ cpp-beginners/ thread303262.html C++ Получить квадратную матрицу порядка n https://www.cyberforum.ru/ cpp-beginners/ thread303259.html
Получить квадратную матрицу порядка n:
C++ Функция pow() перегрузки
нужно найти расстояние между двумя точками L=((x2-x1)^2+(y2-y1)^2)^0.5 Написал 3 раза pow() - ругается. Сделал функцией - ругается на число перегрузок переделал функцию в float rasstoanie(float x1, float x2) { return exp(log(x2-x1)*2); }
C++ Нужно решить 1 вопрос Доброго времени суток, тут я решил дополнить свое недоискуство маленькой программкой (тоже относится к интелекутальным играм) и мне нужно прочитать из файла допустим 001/001.q который содержит в себе 1 строка вопрос 2 Вариант ответа А 3 Вариант Ответа B 4 Вариант Ответа С 5 Вариант ответа D 6 Правильный ответ с помощью fscanf не представляю как сделать это, может есть альтернативные... https://www.cyberforum.ru/ cpp-beginners/ thread303232.html
187 / 174 / 18
Регистрация: 22.03.2010
Сообщений: 612
24.05.2011, 07:45 0

Перезагрузка operator - - C++ - Ответ 1683864

24.05.2011, 07:45. Показов 1220. Ответов 12
Метки (Все метки)

Ответ

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Vector& Vector::operator - ( const Vector &rigth)
{
        Vector Temp(size);
        int temp1=0;
        int temp2=0;
        
 
        for (int i=0; i<size; i++)
        {
                temp1=rigth.ptr[i];
                temp2=ptr[i];
                Temp[i]=temp1-temp2;
        }
        return Temp;
 
 
 
}
у тебя функция возвращает Temp, для которого вызывается деструктор который уничтожает его, поэтому ссылка недействительна! Надо хотя бы так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Vector& Vector::operator - ( const Vector &rigth)
{
        Vector *Temp = new Vector(size);
        int temp1=0;
        int temp2=0;
        
 
        for (int i=0; i<size; i++)
        {
                temp1=rigth.ptr[i];
                temp2=ptr[i];
                (*Temp)[i]=temp1-temp2;
        }
        return *Temp;
 
 
 
}
далее опереатор присвоения какой-то странный, непонятно чё он делает. Помоему так надо, и ещё я бы this->size = right.size добавил, но у тебя там какая-то жёсткая схема и так будет работать
C++
1
2
3
4
5
6
7
8
bool Vector::operator =(const Vector &rigth)
{
        for (int i=0; i<size; i++)
        {
                ptr[i] = rigth.ptr[i];
        }
        return true;
}
после этих исправлений прога перестала вылетать

комментарии тоже странные
Цитата Сообщение от Lotys Посмотреть сообщение
//перезагрузка операции унарного "-"
один аргумент типа this, или как там правильно сказать, а второй который ты передаёшь в функцию.
Унарный это такая штука
C++
1
bool operator-();
его допиши и будет у тебя перегруженный оператор

ещё мне кажется что это штука накроется медным тазом при size = 1
C++
1
2
3
4
5
Vector::~Vector()
{
        cout<<"Goodby Vectorcheg!"<<endl;
        delete [] ptr;
}
ну и какие-то косяки при вводе векторов, я не разобрался, а может так и должно быть...

Добавлено через 3 минуты
или убери значёк &, означающий передачу по ссылке в operator-(const Vector&), так как у тебя есть конструктор копирования, он скопирует твой Temp, но по ссылке не передавай, она недействительна

Вернуться к обсуждению:
Перезагрузка operator - C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2011, 07:45
Готовые ответы и решения:

Перезагрузка operator ==
Тренируюсь и пишу клас комплексных чисел. Проблема с перезагнрузкой оператора сравнения да и другие...

перезагрузка operator +
есть самописный класс String; в нем определены операторы + для, String + String String + char...

Перезагрузка операторов "неоднозначный operator"
Не знаю в ту ли группу пишу, но все же.... Для моего класса есть несколько операторов присвоения...

Class & operator's |Error: undefined reference to operator
Компилирует нормально, но когда хочу использовать оператор выдает ошибку:undefined reference to...

12
24.05.2011, 07:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2011, 07:45
Помогаю со студенческими работами здесь

Перегрузка operator>> и operator<< в абстрактном классе
Здрасьте! Есть необходимость перегрузить потоки, Я знаю как это сделать через friend, но вот...

Вызов operator[] через operator[] const
Перелистывал Майерса, наткнулся на код, подскажите пожалуйста почему он советует закомментированный...

operator char() или operator int()
Здорова госпдо! Снова ничо не ясно как всегда. Разбираю программку из книги Страуструпа, там он...

Реализация operator + через operator +=
внутри следующей темы возник вопрос, ответ на который так и не был получен:...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru