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

Класс Вектор. объясните пожалуйста код! - C++

Восстановить пароль Регистрация
 
Nazar199506
0 / 0 / 0
Регистрация: 26.05.2014
Сообщений: 19
31.05.2014, 14:47     Класс Вектор. объясните пожалуйста код! #1
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
#include <iostream>
#include <cmath>
#include <cstdlib>
 
using namespace std;
 
class TVector
{
   private:
      double x, y, z;
 
   public:
      TVector(): x(0), y(0), z(0) { ; }
      TVector(double theX, double theY, double theZ)
         : x(theX), y(theY), z(theZ) { ; }
      ~TVector() { ; };
 
      double Lenght() const
      {
         return sqrt(x*x + y*y + z*z);
      }
 
      TVector operator + (const TVector& obj) const
      {
         return TVector(x+obj.x, y+obj.y, z+obj.z);
      }
 
      double operator % (const TVector& obj) const
      {
         return (x*obj.x + y*obj.y + z*obj.z);
      }
 
      TVector operator * (const TVector& obj) const
      {
         return TVector(y*obj.z - z*obj.y, z*obj.x - x*obj.z, x*obj.y - y*obj.x);
      }
 
      TVector& SetX(double x)
      {
         this->x = x;
 
         return *this;
      }
 
      TVector& SetY(double y)
      {
         this->y = y;
 
         return *this;
      }
 
      TVector& SetZ(double z)
      {
         this->z = z;
 
         return *this;
      }
 
      double GetX() const
      {
         return x;
      }
 
      double GetY() const
      {
         return y;
      }
 
      double GetZ() const
      {
         return z;
      }
};
 
ostream& operator << (ostream& os, const TVector& obj)
{
   os << "{ " << obj.GetX() << ", " << obj.GetY() << ", " << obj.GetZ() << " }";
 
   return os;
}
 
istream& operator >> (istream& is, TVector& obj)
{
   double x, y, z;
 
   is >> x >> y >> z;
 
   obj.SetX(x).SetY(y).SetZ(z);
 
   return is;
}
 
int main()
{
   TVector def;
   cout << "default vector = " << def << endl;
 
   TVector vec1(1, 2, 3);
   TVector vec2(2, 3, 4);
   TVector vec3(3, 4, 5);
 
   TVector r = (vec1 + vec2) * vec3;
 
   double t = (vec1 + vec3) % vec3;
   cout << "r = " << r << endl;
 
   cout << "t = " << t << endl
        << "mod vec1 = " << vec1.Lenght() << endl
        << "mod vec2 = " << vec2.Lenght() << endl
        << "mod vec3 = " << vec3.Lenght() << endl
        << "mod r = " << r.Lenght() << endl;;
 
   cout << "input vector a (X, Y, Z): ";
   TVector a;
   cin >> a;
   cout << a << endl;
 
   double x;
   cout << "input X for vector vec1: ";
   cin >> x;
   vec1.SetX(x);
 
   cout << vec1 << endl;
 
   system("pause");
 
   return 0;
}
Добавлено через 1 час 14 минут
ПОМОГИТЕ!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2014, 14:47     Класс Вектор. объясните пожалуйста код!
Посмотрите здесь:

C++ Объясните пожалуйста код и ход работы программы на С++
C++ Объясните пожалуйста, как конкретно работает код
Объясните код пожалуйста C++
C++ Объясните пожалуйста, как работает код. Указатели
объясните пожалуйста код C++
C++ Объясните, пожалуйста, данный код
C++ Объясните, пожалуйста, код
C++ Объясните код, пожалуйста, файловый поток

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4324 / 3745 / 1260
Регистрация: 14.04.2014
Сообщений: 14,685
31.05.2014, 15:37     Класс Вектор. объясните пожалуйста код! #2
Вопрос какой? Что не ясно?
Nazar199506
0 / 0 / 0
Регистрация: 26.05.2014
Сообщений: 19
31.05.2014, 15:47  [ТС]     Класс Вектор. объясните пожалуйста код! #3
nmcf, мне нужно полностью объяснение к коду..

Добавлено через 39 секунд
nmcf, теперь уже к этому.
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
#include <iostream>
 
using namespace std;
 
class NEO
{
    int opera, chrome;
public:
    NEO() {}
 
    NEO(int  op, int ch)
    {
        opera= op;
        chrome= ch;
    }
    void out()
    {
        cout << opera << " ";
        cout << chrome << endl;
    }
 
    NEO operator+(NEO f);
    NEO operator-(NEO f);
    NEO operator=(NEO f);
    NEO operator++();
    NEO operator--();
};
 
NEO NEO :: operator+(NEO f)
{
    NEO dom;
    dom.opera= f.opera + opera;
    dom.chrome= f.chrome + chrome;
    return dom;
}
 
NEO NEO :: operator++()
{
    opera++;
    chrome++;
 
    return *this;
}
 
 
 
 
NEO NEO :: operator-(NEO f)
{
    NEO dom;
    dom.opera= opera - f.opera;
    dom.chrome= chrome - f.chrome;
    return dom;
}
 
NEO NEO :: operator--()
{
    opera--;
    chrome--;
    return *this;
}
 
NEO NEO ::operator=(NEO f)
{
    opera= f.opera;
    chrome= f.chrome;
    return *this;
}
int main()
{
    setlocale(0,"");
    NEO X1(5, 10), X2(2,6),X3(15, 15);
    NEO a, b;
    X1.out();
    X2.out();
    X3.out();
    cout << "                           " << endl;
    
    cout << "Перевантажений оператор ++." << endl;
    ++X1;
    X1.out();
    cout << "                           "<< endl;
    
    cout << "Перевантажений оператор --." << endl;
    --X2;
    X2.out();
    cout << "                          " << endl;
    
    
 
     cout << "Перевантажений оператор +." << endl;
     a= X2 + X3;
    a.out();
    cout << "                          " << endl;
 
    cout << "Перевантажений оператор -." << endl;
    b= X1 - X3;
    b.out();
    cout << "                          " << endl;
 
    cout << "Перевантажений оператор=." << endl;
    X1= X2= X3;
    X2.out();
    return 0;
}
Yandex
Объявления
31.05.2014, 15:47     Класс Вектор. объясните пожалуйста код!
Ответ Создать тему
Опции темы

Текущее время: 22:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru