Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Разработать класс «2-мерный вектор», конструктор(ы) для инициализации, перегруженные операторы << и >> потокового ввода/вывода,
- перегруженную операцию ~ вычисления длины вектора как метода (функцию-член класса), перегруженную операцию –= вычитания одного
- вектора из другого (функцию-друг класса). В функции main организовать тестирование всех возможностей разработанного класса.
- */
- #include <iostream>
- #include <math.h>
- using namespace std;
- class Vector
- {
- private:
- float x, y;
- public:
- Vector() { x = 0., y = 0.; }
- Vector(float X, float Y) { x = X; y = Y; }
- friend istream& operator >> (istream& s, Vector& a);
- friend ostream& operator << (ostream& s, Vector& a);
- float operator~ () { return sqrt(x * x + y * y); }
- friend Vector& operator-=(Vector& A, Vector& B) { A.x -= B.x; A.y -= B.y; return A; }
- };
- istream& operator >> (istream& s, Vector& a) { return s >> a.x >> a.y; }
- ostream& operator << (ostream& s, Vector& a) { return s << "(" << a.x << "," << a.y << ")" << endl; }
- int main()
- {
- Vector a, b(1., 1.);
- cout << a;
- cout << b;
- cin >> a;
- cout << a;
- cout << ~b << endl;
- cout << (a-=b);
- }
Add Comment
Please, Sign In to add comment