Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
тутти
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 5
#1

Ортодоксальная каноническая форма класса - C++

22.12.2010, 04:58. Просмотров 2075. Ответов 2
Метки нет (Все метки)

помогите пожалуйста. преподаватель попросил написать class point с конструктором, копир. конструктором, оперетором и деструктором и с перегрузкой операторов в координатах x,у. в С++ со всеми пояснениями и классическим оформлением
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2010, 04:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ортодоксальная каноническая форма класса (C++):

Каноническая форма ДУ - Дифференциальные уравнения
Всем здравствуйте, помогите, пожалуйста, разобраться. уравнение прикрепил. опущу подробности решения. Делаю замену переменных: ...

Каноническая ссылка - Web
Работает ли каноническая ссылка, если поставить её со статьи одного сайта на статью другого сайта? В одних местах пишут, что работает, в...

Форма не ловит событие из класса, объявленного с WithEvents! - VBA
Есть класс Class1: Public Event TestEvent(ByRef Cancel As Boolean) Private Sub Class_Initialize() Dim rez As Boolean ...

Узнать экземпляром какого класса является перемещаемая форма? - Delphi
Здравствуйте! Использую Delphi 6. В программе есть активноя форма, есть дочерние формы. Дочерние формы являются экземплярами кастомных...

Работа с потоками, вывод информации из класса, подвисает форма - C#
например public class Worker { public string initComunication(List<CMD> cmd) { string data = ""; ...

Форма 1 вызывает форму 2, форма 2 закрывается, форма 1 продолжает работать дальше - C#
Вынес предстартовые действия формы1 в форму2 (там у меня проверка существования файлов, их закачка если нету и проверка обновления), но как...

2
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 3
22.12.2010, 05:33 #2
Достаточно стандартно?
Дробные координаты не учитываются. Если при делении координата меньше больше нуля, но меньше 1 или меньше нуля но больше -1 ответ будет 0.
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#include <iostream>
#include <stdexcept>
 
class Point
{
public:
   Point(int x_=0, int y_=0):
   x(x_), y(y_)
   {
   }
   ~Point()
   {
   }
   Point(const Point& other)
   {
       x=other.x;
       y=other.y;
   }
   Point& operator =(const Point& other)
   {
        if(this == &other)
           return *this;
        x=other.x; 
        y=other.x;
        return *this;
    }
    const int GetX() const
    {
        return x;
    }
    const int GetY() const
    {
        return y;
    }
    void SetXY(int x_, int y_)
    {
        x=x_;
        y=y_;
    }
private: 
   int x, y;
};
 
Point operator +(const Point& first, const Point& second)
{
    int x=first.GetX()+second.GetX();
    int y=first.GetY()+second.GetY();
    return Point(x,y);
}
 
Point operator -(const Point& first, const Point& second)
{
    int x=first.GetX()-second.GetX();
    int y=first.GetY()-second.GetY();
    return Point(x, y);
}
 
Point operator *(const Point& first, const Point& second)
{
    int x=first.GetX()*second.GetX();
    int y=first.GetY()*second.GetY();
    return Point(x, y);
}
 
Point operator /(const Point& first, const Point& second)
{
    if(second.GetX() == 0)
        throw std::logic_error("Divide by zero");
    int x=first.GetX()/second.GetX();
    if(second.GetY() == 0)
        throw std::logic_error("Divide by zero");
    int y=first.GetY()/second.GetY();
    return Point(x, y);
}
 
std::ostream& operator <<(std::ostream& os, const Point& one)
{
    os<<"X: "<< one.GetX()<<'\n'
       <<"Y: "<< one.GetY()<<'\n';
    os<<'\n';
    return os;
}
 
std::istream& operator >>(std::istream& is, Point& one)
{
    int x=0, y=0;
    std::cout<<"Enter x: ";
    std::cin>>x;
    std::cout<<"Enter y: ";
    std::cin>>y;
    one.SetXY(x, y);
    return is;
}
 
int main()
{
    Point first;
    Point second;
    std::cout<<"Enter first point\n";
    std::cin>>first;
    std::cout<<"Enter second point\n";
    std::cin>>second;
    std::cout<<"Sum is\n";
    std::cout<<first+second;
    std::cout<<"Sub is\n";
    std::cout<<first-second;
    std::cout<<"Mul is\n";
    std::cout<<first*second;
    std::cout<<"Div is\n";
    try
    {
       std::cout<<first/second;
    }
    catch(const std::exception& e)
    {
       std::cerr<<e.what()<<'\n';
       return 1;
    }
    return 0;
}
1
тутти
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 5
22.12.2010, 10:31  [ТС] #3
спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2010, 10:31
Привет! Вот еще темы с ответами:

как заменить при нажатии на кнопку класс header( поисковая форма из данного класса должна быть заменена) на па - JavaScript
как заменить при нажатии на кнопку класс header( поисковая форма из данного класса должна быть заменена) на панель управления с помощью...

Простая форма веб-форма для сложения двух чисел не работает - JavaScript
Не работает скрипт для подсчета сложения.Может я неправильно привязал обработчик события(клик на кнопку подсчитать)? Вот код: ...

Не закрывается форма 1, а после вызова формы 2, форма 1 дублируется несколько раз - C#
имеется форма, на ней кнопка. нажимаю и открывается новая форма, но старая снова появляется неограниченное количество раз код 1...

Чтобы форма (иконка форма) не показывалась в панели задач Windows - Visual Basic .NET
как сделать так чтобы форма (иконка форма) не показывалась в панели управления там где пуск и все дела?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru