blob: b18838c0d98dd53c01885ae2cb603b3d547bc197 (
plain)
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
|
#pragma once
#include <iostream>
#include "format_numerical_data.hh"
class Vector
{
public:
Vector() = default;
Vector(double x, double y);
double get_x() const;
double get_y() const;
Vector& operator+=(const Vector& rhs);
Vector& operator-=(const Vector& rhs);
Vector& operator*=(double scalar);
friend Vector operator+(const Vector& lhs, const Vector& rhs);
friend Vector operator-(const Vector& lhs, const Vector& rhs);
friend Vector operator*(const Vector& lhs, double scalar);
friend Vector operator*(double scalar, const Vector& rhs);
friend double operator*(const Vector& lhs, const Vector& rhs);
friend std::ostream& operator<<(std::ostream& os, const Vector& vec);
private:
double x_ = 0;
double y_ = 0;
static FormatNumericalData format_numerical_data_;
};
|