summaryrefslogtreecommitdiff
path: root/docs/examples/userguide/wrapping_CPlusPlus/Rectangle.cpp
blob: d610ab0ebf86a5ed88ec60de415470a651f415da (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
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include "Rectangle.h"

namespace shapes {

	// Default constructor
	Rectangle::Rectangle () {}

	// Overloaded constructor
	Rectangle::Rectangle (int x0, int y0, int x1, int y1) {
		this->x0 = x0;
		this->y0 = y0;
		this->x1 = x1;
		this->y1 = y1;
	}

	// Destructor
	Rectangle::~Rectangle () {}

	// Return the area of the rectangle
	int Rectangle::getArea () {
		return (this->x1 - this->x0) * (this->y1 - this->y0);
	}

	// Get the size of the rectangle.
	// Put the size in the pointer args
	void Rectangle::getSize (int *width, int *height) {
		(*width) = x1 - x0;
		(*height) = y1 - y0;
	}

	// Move the rectangle by dx dy
	void Rectangle::move (int dx, int dy) {
		this->x0 += dx;
		this->y0 += dy;
		this->x1 += dx;
		this->y1 += dy;
	}
}