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

Перегрузка операторов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сортировка вставкой http://www.cyberforum.ru/cpp-beginners/thread106957.html
while(mc!=m) {nov=n; for(is=0;is<n;is++){ for (i=nov;i<n;i++){if (vmatr<sk2){sk2=vmatr;c=i;}} nov++; if(sk2==vmatr){continue;} for (i=c;i>nov;i--){vmatr=vmatr;} vmatr=sk2; sk2=1000;} nov=0; mc++; }
C++ вычислить среднее арифметическое значение положительных элементов матрицы, расположенных над главной диагональю. Помогите пожалуйста найти ошибку!!! Нужно вычислить среднее арифметическое значение положительных элементов матрицы, расположенных над главной диагональю.А программа считает среднее арифметическое под диагональю. #include<iostream.h> #include<stdlib.h> #include<time.h> int main() { int n, **mas,i,j,sum=0, count=0; http://www.cyberforum.ru/cpp-beginners/thread106951.html
C++ Интегрирование дифференциального уравнения
Задание: Подготовить программу интегрирования дифференциального уравнения у’=cos(x+1)*tg(x)+y на отрезке 0<=x<=1 при у(0)=0. Интерфейс приложения – диалог. Обязательные элементы управления – EditBox, Picture и ListBox. Есть следующий код: { UpdateData(true); float p1,d; float fk,f1;
Заменить в тексте все символы 'a' на 'z', 'b' на 'y', 'c' на 'x' и т.д. C++
Добрый день. У меня такая задача: Заменить в тексте все символы 'a' на 'z', 'b' на 'y', 'c' на 'x' и т.д. Большое спасибо, мне написали на форуме программу для 1 строки. А как быть, если строк несколько, то есть массив из строк? Вот программа для 1 строки #include <iostream> int main() { char stroka;
C++ Ввод матрицы из файла - затирает последний элемент предыдущей строки http://www.cyberforum.ru/cpp-beginners/thread106938.html
Странный эффект Содержимое вводимого файла- 1 2 3 4 5 6 int *a; a = new(2*3); for (i=0;i<2;i++) for (j=0;j<3;j++)
C++ Написать программу, которая считывает текст из файла Написать программу, которая считывает текст из файла, находит самое длинное слово и определяет, сколько раз встретилось в тексте. подробнее

Показать сообщение отдельно
Brainstubber
0 / 0 / 0
Регистрация: 21.03.2010
Сообщений: 4

Перегрузка операторов - C++

21.03.2010, 02:19. Просмотров 738. Ответов 1
Метки (Все метки)

Столкнулся с проблемой при написании лабораторной по перегрузке операторов. Задание таково:
описать класс, содержащий координаты отрезка, метод для вычисления длины этого отрезка, перегрузить операторы сложения и умножения и затем применить их в работе с объектами класса.

Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Otrezok
{
private:
    double x1;
    double y1;
    double x2;
    double y2;
public:
    Otrezok();
    Otrezok(double dx1, double dy1, double dx2, double dy2);
    Otrezok(const Otrezok &);
    ~Otrezok();
    
    friend Otrezok operator+=(const Otrezok& c1, const Otrezok& c2); 
    friend Otrezok operator*(const Otrezok& c1, const Otrezok& c2);
    double Otrezok:: Dlina();
};
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
26
27
28
29
30
31
32
33
34
35
36
37
#include <math.h>
#include "Otrezok.h"
 
Otrezok::Otrezok() {}
 
Otrezok::Otrezok(double dx1, double dy1, double dx2, double dy2)
{
    x1 = dx1;
    y1 = dy1;
    x2 = dx2;
    y2 = dy2;
}
 
Otrezok::Otrezok(const Otrezok &O)
{
    x1 = O.x1;
    y1 = O.y1;
    x2 = O.x2;
    y2 = O.y1;
}
 
double Otrezok:: Dlina()
{
    double d;
    d = sqrt(pow(y2-y1, 2) + pow(x2-x1, 2));
    return d;
}
 
Otrezok& operator+(const Otrezok &c1, const Otrezok &c2)
{
    return Otrezok(c1) + c2;
}
 
Otrezok& operator*(const Otrezok &c1, const Otrezok &c2)
{
    return Otrezok(c1) * c2;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <math.h>
#include "Otrezok.h"
using namespace std;
 
void main()
{
    Otrezok *L1 = new Otrezok();
    Otrezok *L2 = new Otrezok(9, 4, 7, -3);
    Otrezok *L3(L2);
 
    cout << "Dlina otrezka L2:" << L2->Dlina() << "\r\n";
    L1 = L3 + L2;
    cout << "Dlina otrezka L1:" << L1->Dlina() << "\r\n";
}
Выдает следующую ошибку: main.cpp(14): error C2110: '+' : cannot add two pointers.
Очень прошу подсказать, в чем я ошибся.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru