-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpoint2D.h
More file actions
67 lines (57 loc) · 1.19 KB
/
point2D.h
File metadata and controls
67 lines (57 loc) · 1.19 KB
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
#ifndef POINT_2D_H
#define POINT_2D_H
#include <math.h>
#include <memory>
// Class providing point object with x and y fields
class Point2D
{
public:
float x;
float y;
// Operator Overloading "" operator
Point2D operator + (Point2D const &obj)
{
Point2D p;
p.x = x + obj.x;
p.y = y + obj.y;
return p;
}
// Operator Overloading "-" operator
Point2D operator - (Point2D const &obj)
{
Point2D p;
p.x = x - obj.x;
p.y = y - obj.y;
return p;
}
// Operator Overloading "/" operator
Point2D operator / (float const &obj)
{
Point2D p;
p.x = x /obj;
p.y = y /obj;
return p;
}
// Operator Overloading "*" operator
Point2D operator * (float const &obj)
{
Point2D p;
p.x = x * obj;
p.y = y * obj;
return p;
}
// Operator Overloading "=" operator
Point2D operator = (Point2D const &obj)
{
Point2D p;
p.x = obj.x;
p.y = obj.y;
return p;
}
// Function to take norm of the point
float norm()
{
return sqrt(x*x+y*y);
}
};
#endif