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

В классе перегрузить операцию сложения - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задачи С4 http://www.cyberforum.ru/cpp-beginners/thread842168.html
Всем доброго времени суток. Нужна ваша помощь) Собственно нужно написать 5-6 задач С4 из егэ. Всем заранее спасибо.
C++ Архивация строк Знаю, что С++ есть такая вещь как архивация строк, то есть в последовательности символов все одинаковые подряд, идущие символы заменяются двумя - же символом и цифрой, соответствующей количеству подряд идут одинаковых символов. Пожалуйста приведите пример. http://www.cyberforum.ru/cpp-beginners/thread842137.html
Предусмотреть использование шаблонного класса для работы с различными типами данных C++
Само задание- Дана матрица размера m*n. Найти ее седловую точку, то есть элемент матрицы, которой является одновременно наибольшим в строке и наименьшим в столбце. Если имеется несколько Седловых точек, то получить индексы всех таких точек. Предусмотреть использование шаблонного класса для работы с различными типами данных. #include <iostream> #include <windows.h> using namespace std; int...
C++ Почему символ не меняется
подскажите пожалуйста, написал метод класа для изменения регистра символа, но что-то оно у меня нечего не меняет, где я допустил ошибку или я что-то не неправильно написал? подскажите кто знает вот код #include <string> #include <iostream> using namespace std; class CBaseString { public: char ChangeCharReg (unsigned char c); };
C++ Удалить из строки только те слова, которые состоят только из латинских букв http://www.cyberforum.ru/cpp-beginners/thread842120.html
Надо удалить из строки только те слова, которые состоят только из латинских букв. Помогите, пожалуйста, что то не могу сообразить.
C++ Запись в файл некоторого количества структур Надо записать в файл некоторое количество записей, не используя массивов. Знаю что надо через write(), но вот как правильно передать параметры .. Есть структура struct examen { char group; char date; char subject; }timelable; В цикле записываются структуры.. подробнее

Показать сообщение отдельно
LiV
0 / 0 / 0
Регистрация: 28.01.2013
Сообщений: 54
19.04.2013, 00:35     В классе перегрузить операцию сложения
Здравствуйте. Помогите кто сможет.
Задание, нужно создать два прямоугольника, рисовать их не нужно, только создать ихние позоции (координаты x и y), так же ширину и высоту. Перегрузкой операции сложения, создать третий прямоугольник (его пизицию, ширину и высоту), позицией которого должна быть левая верхняя точка(приоритетнее точка которая левее), ширину и высоту, как я понял, нужно рассчитать исходя из правой нижней точки(приоритетнее точка которая правее). Пример на картинке.
Моя проблема в самой перегрузки +: 1 - найти правую нижнюю точку (B(x,y)); 2 - рассчитать ширину и высоту третьего получившегося прямоугольника.
Вот моя попытка решить это задание:
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#ifndef _RECT_H_
#define _RECT_H_
 
#include<iostream>
#include<Windows.h>
#include<time.h>
using namespace std;
 
class Rect
{
    COORD pos;
    double width;
    double height;
public:
    void SetW(double w)
    {
        if(w>=0)
            width=w;
    }
    void SetH(double h)
    {
        if(h>=0)
            height=h;
    }
    double GetW()
    {
        return width;
    }
    double GetH()
    {
        return height;
    }
    void SetPos(int x, int y)
    {
        pos.X=x;
        pos.Y=y;
    }
    COORD GetPos()
    {
        return pos;
    }
    int GetX()
    {
        return pos.X;
    }
    int GetY()
    {
        return pos.Y;
    }
    void Show()
    {
        printf("Позиция: (%d, %d), ширина: (%f), высота: (%f)", pos.X, pos.Y, width, height);
        cout<<endl;
    }
    Rect(COORD p, double w, double h)// создание прямоугольников
    {
        cout<<"Прямоугольник:\n";
        pos=p;
        width=w;
        height=h;
    }
};
Rect operator+(Rect &A, Rect &B)// перегрузка сложения прямоугольников
{
    Rect tmp;
    if(A.GetX() && A.GetY() < B.GetX() && B.GetY())
    {
        tmp.SetPos(A.GetX(), A.GetY());// координаты перегруженного + прямоугольника
        tmp.SetW(A.GetW()+B.GetW());// ширина перегруженного + прямоугольника
        tmp.SetH(A.GetH()+B.GetH());// высота
        return tmp;
    }
}
 
#endif
Подскажите, за ранее спасибо.
Миниатюры
В классе перегрузить операцию сложения  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru