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

При перегрузке операторов не записывает значение - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ fscanf и max значение http://www.cyberforum.ru/cpp-beginners/thread251169.html
Помогите пожалуйста разобраться и найти ошибки Нужно осуществить вовод из файла в котором записано 17 20 25 и вычислить максимальное значение..... #include "stdafx.h" #include <conio.h> #include "iostream"
C++ Теория Добрый день! Появились парa вопросов по теории. 1) Есть ли какая то разница между обращением p-> и (*p). ? Если есть - то желательно примерчик, когда она проявляется. 2) Есть ли разница по скорости доступа между прямым доступом к a и через getA() class aaa { public: int a; aaa() { a=0; http://www.cyberforum.ru/cpp-beginners/thread251157.html
C++ Не выводит структуру из файла.
Вопшем я здаюсь не как не пойму у меня был пример как вводить и выводить я вроде зделал всё как надо как мне кажется. Ввод работает а вывод нет. А что не так то ? #include <iostream> #include <conio.h> #include <stdio.h> using namespace std; struct book
C++ Построение дерева по прямому обходу.
Скажите, есть ли какой-нибудь ходовой алгоритм построения двоичного дерева по элементам, записанным в прямом обходе этого дерева, за линейное время?
C++ автозагрузка http://www.cyberforum.ru/cpp-beginners/thread251126.html
Здравствуйте господа програмисты!если кто знает напишите,с коменнтариями,всё голову себе сломал-допустим есть определённая программа как её програмно через с++ вписать в реестр в автозагрузку? Заранее огромное спасибо!!! Добавлено через 6 часов 6 минут я так понимаю не кто не знает?ну извините тогда за беспокойство.всё равно всем спасибо хоть кто смотрел тему.
C++ Морфологический анализ текста Здравствуйте, нужна помощь в написании программы: Создать программу проводящую морфологический анализ текста (а именно Личных местоимений), определить в словах одушевлённость, род, число, падеж, лицо. Вобщем одним словом нужно реализовать базу данных (скорее всего просто текстовый файл) в которую "засунуть" все личные местоимения и их формы, и проанализировать текст который вводится из файла... подробнее

Показать сообщение отдельно
Laky
6 / 6 / 0
Регистрация: 07.02.2011
Сообщений: 39

При перегрузке операторов не записывает значение - C++

02.03.2011, 19:27. Просмотров 421. Ответов 5
Метки (Все метки)

Собственно вот мой код:
class.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
class Otrezku
{
public:
    Otrezku();
    Otrezku(float , float , float , float );
    Otrezku(Otrezku &);
    Otrezku operator +(Otrezku);
    Otrezku operator -(int);
    Otrezku operator =(Otrezku);
private:
    float X1, X2, Y1, Y2, L;
};
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
using namespace std;
#include <iostream>
#include "class.h"
 
void main()
{
    Otrezku W1;
    float X1, X2, Y1, Y2;
    cout<<"Enter the co-ordinates of the second cutting-off(A(x1;y1) and B(x2;y2) through a space in a next order: x1, y1, x2, y2"<<endl;
    cin>>X1>>Y1>>X2>>Y2;
    Otrezku W2(X1, X2, Y1, Y2);
    Otrezku W3 = W2;
    W3 = W3 - 3;
    W1.operator=(W2.operator+(W3));
}
other.cpp
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
using namespace std;
#include <iostream>
#include "class.h"
#include <math.h>
 
Otrezku::Otrezku()
{
    X1 = 0;
    X2 = 0;
    Y1 = 0;
    Y2 = 0;
}
 
Otrezku::Otrezku(float XX1, float XX2, float YY1, float YY2)
{
    X1 = XX1;
    X2 = XX2;
    Y1 = YY1;
    Y2 = YY2;
}
 
Otrezku::Otrezku(Otrezku &x)
{
    X1 = x.X1;
    X2 = x.X2;
    Y1 = x.Y1;
    Y2 = x.Y2;
}
 
Otrezku Otrezku::operator+(Otrezku x)
{
    Vidrizku tmp;
    tmp.X1 = X1 + x.X1;
    tmp.X2 = X2 + x.X2;
    tmp.Y1 = Y1 + x.Y1;
    tmp.Y2 = Y2 + x.Y2;
    return tmp;
}
 
Otrezku Otrezku::operator-(int A)
{
    Otrezku tmp;
    tmp.X1 = X1 - A;
    tmp.X2 = X2 - A;
    tmp.Y1 = Y1;
    tmp.Y2 = Y2;
    return tmp;
}
 
Otrezku Otrezku::operator=(Otrezku x)
{
    Otrezku tmp;
    tmp.X1 = X1;
    tmp.X2 = X2;
    tmp.Y1 = Y1;
    tmp.Y2 = Y2;
    return tmp;
}
Компилятор ошибок не видит. При выполнении кода:
C++
1
    W3 = W3 - 3;
Можно увидеть в watch-e "Otrezku::operator- returned" с темы значениями, которые считает при перегрузке. Но оно не записывает в W3. Тоже самое при выполнении
C++
1
W1.operator=(W2.operator+(W3));
В чем здесь проблема? На лекции код давали, я по нему делал, но у меня не работает... Спасибо за помощь!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru