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

Создиние класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ опишите программу, не понимаю ее... http://www.cyberforum.ru/cpp-beginners/thread228584.html
#include <iostream.h> #include <conio.h> #include <string.h> #define N 4 struct Worker { int Year; char Pos; char Name; };
C++ char_t и как он связан с оперативкой? #include <stdio.h> #include <stdlib.h> struct stack { char data; struct stack* next; }; struct stack* push(struct stack*, char); http://www.cyberforum.ru/cpp-beginners/thread228554.html
C++ Функции
почему не сортирует, кто может взглянуть ( без динамических массивов сортирует) ? struct a { int r; } *c; void sort ( a *, int ); void sort ( a *b, int n )
Делегирование C++
Привет!! у меня скоро экзамен по ООП, нужна небольшая консультация профессионалов по темам Делегирование и Прототипы (нигде не могу найти толковых статей на эти темы), желательно на примерах языка С++.. Заранее спасибо за помощь!
C++ Как переделать программу http://www.cyberforum.ru/cpp-beginners/thread228504.html
была программа #include <iostream> using namespace std; class STROKA { char *str; int n; public: STROKA(char *str1=""); ~STROKA();
C++ числа Армстронга, найти ошибку в программе Задание следующее: Найти числа Армстронга до опр. числа, введенного пользователем. (Числа Армстронга - числа с количеством цифр n, сумма цифр возведенных в n степень которых равна самому числу. Например 153 - число Армстронга, т.к. 1³ + 5³ + 3³ = 153) int main() { setlocale(LC_ALL,"rus"); double massiv; int step=0; int m=1; int glav=0; int glav1=0; int n=0; cout<<"Введите... подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
2798 / 1574 / 246
Регистрация: 03.05.2010
Сообщений: 3,651
14.01.2011, 13:58     Создиние класса
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
//////////////////////////////////////////////////////////////////////////////////////
//1. Создать класс отрезка CLine ограниченного точками A(XA,YA) и B(XB,YB), 
//содержащий методы:
//  - задания координат точек А и В;
//  - вычисление длины отрезка;
//  - вычисления новых координат точек А и В при сдвиге на N единиц :
//Вверх, вниз,влево,вправо.
//  - вывода текущих координат точек А и В;
//2. На основе класса CLine создать производный класс CNewLine , содержащий 
//дополнительные методы:
//  - вычисления координат середины отрезка О(0Х,ОY);
//  - вычисление новых координат точек А и В полученных при вращении отрезка 
//относительно его центра на М градусов по часовой стрелке.
//////////////////////////////////////////////////////////////////////////////////////
#define _USE_MATH_DEFINES
//////////////////////////////////////////////////////////////////////////////////////
#include <cmath>
#include <complex>
#include <iomanip>
#include <iostream>
//////////////////////////////////////////////////////////////////////////////////////
typedef  double                 T_coord;
typedef  std::complex<T_coord>  T_point;
//////////////////////////////////////////////////////////////////////////////////////
class  T_line
{
protected:
    T_point  A;   
    T_point  B;   
    //--------------------------------------------------------------------------------
public:
    T_line
        (
            T_coord  Xa = 0,
            T_coord  Ya = 0,
            T_coord  Xb = 0,
            T_coord  Yb = 0
        ) 
        : A(Xa, Ya),
          B(Xb, Yb)
    {}
    //--------------------------------------------------------------------------------
    void  set_point_A
        (
            T_coord  Xa,
            T_coord  Ya
        ) 
    {
        A = T_point(Xa, Ya);
    }
    //--------------------------------------------------------------------------------
    void  set_point_B
        (
            T_coord  Xb,
            T_coord  Yb
        ) 
    {
        B = T_point(Xb, Yb);
    }
    //--------------------------------------------------------------------------------
    T_coord  get_len() const
    {
        return  abs(B - A);
    }
    //--------------------------------------------------------------------------------
    void  move_left(T_coord  n)
    {        
        move(-n);     
    }
    //--------------------------------------------------------------------------------
    void  move_right(T_coord  n)
    {        
        move(n);     
    }
    //--------------------------------------------------------------------------------
    void  move_up(T_coord  n)
    {        
        move(T_point(0, n));     
    }
    //--------------------------------------------------------------------------------
    void  move_down(T_coord  n)
    {        
        move(T_point(0, -n));     
    }
    //--------------------------------------------------------------------------------
    T_point  get_point_A() const
    {
        return  A;
    }
    //--------------------------------------------------------------------------------
    T_point  get_point_B() const
    {
        return  B;
    }
    //--------------------------------------------------------------------------------
    void  print_point_A() const
    {
        std::cout << A;
    }
    //--------------------------------------------------------------------------------
    void  print_point_B() const
    {
        std::cout << B;
    }
    //--------------------------------------------------------------------------------
private:
    //--------------------------------------------------------------------------------
    void  move(T_point  delta)
    {
        A += delta;
        B += delta;    
    }
};
//////////////////////////////////////////////////////////////////////////////////////
class  T_new_line : public T_line
{
public:
    T_new_line
        (
            T_coord  Xa = 0,
            T_coord  Ya = 0,
            T_coord  Xb = 0,
            T_coord  Yb = 0
        ) 
        : T_line(Xa, Ya, Xb, Yb)          
    {}
    //--------------------------------------------------------------------------------
    T_point  get_center() const
    {
        return  (A + B) / 2.0;
    }
    //--------------------------------------------------------------------------------
    void  rotate(T_coord  degrees)
    {
        T_point  C       = get_center();
        T_coord  theta   = -degrees / 180 * M_PI;
        T_point  factor  = std::polar(1.0, theta);
 
        A                = (A - C) * factor + C;
        B                = (B - C) * factor + C;
    }
};
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    T_new_line z(1, 1, 2, 2);   
    std::cout << "z.A = ";
    z.print_point_A();
    std::cout << std::endl
              << "z.B = ";
    z.print_point_B();
    std::cout << std::endl
              << "z.len = "
              << z.get_len()
              << std::endl;
 
    std::cout << "z.move_left(1)"
              << std::endl;
    z.move_left(1);
    std::cout << "z.A = "
              << z.get_point_A()    
              << std::endl
              << "z.B = "
              << z.get_point_B()    
              << std::endl;
 
    std::cout << "z.move_right(1)"
              << std::endl;
    z.move_right(1);
    std::cout << "z.A = "
              << z.get_point_A()    
              << std::endl
              << "z.B = "
              << z.get_point_B()    
              << std::endl;
 
    std::cout << "z.move_up(1)"
              << std::endl;
    z.move_up(1);
    std::cout << "z.A = "
              << z.get_point_A()    
              << std::endl
              << "z.B = "
              << z.get_point_B()    
              << std::endl;
 
    std::cout << "z.move_down(1)"
              << std::endl;
    z.move_down(1);
    std::cout << "z.A = "
              << z.get_point_A()    
              << std::endl
              << "z.B = "
              << z.get_point_B()    
              << std::endl;
 
    std::cout << "z.set_point_A(-1, 0)"
              << std::endl;
    z.set_point_A(-1, 0);
    std::cout << "z.A = "
              << z.get_point_A()    
              << std::endl;
 
    std::cout << "z.set_point_B(1, 0);"
              << std::endl;
    z.set_point_B(1, 0);
    std::cout << "z.B = "
              << z.get_point_B()    
              << std::endl;
 
    std::cout << "z.get_center() = "
              << z.get_center()
              << std::endl;
 
    std::cout << "z.rotate(90)";
    z.rotate(90);
    std::cout << std::endl;
 
    std::cout << "z.A = "
              << z.get_point_A()    
              << std::endl;
 
    std::cout << "z.B = "
              << z.get_point_B()    
              << std::endl;
 
    std::cout << "z.rotate(45)";
    z.rotate(45);
    std::cout << std::endl;
 
    std::cout << "z.A = "
              << z.get_point_A()    
              << std::endl;
 
    std::cout << "z.B = "
              << z.get_point_B()    
              << std::endl;
}
 
Текущее время: 13:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru