my problem is the Point plus(Point). how should I declare it and all that.

// point.h -- This creates a point with both x and y of type integer

#include <iostream>
using namespace std;

template<typename T>
class Point {
	private:
		T x;
		T y;
	public:
		Point(T,T);
		Point();

                  void set_x(T);
                  void set_y(T);
                  T get_x();
                  T get_y();
	         Point plus(Point);
		void print();
};
 


template<typename T>
Point<T>::Point(T initx, T inity) {
	// If no coordinates are given, the default in (0,0)
	x = initx;
	y = inity;
}

template<typename T>
Point<T>::Point() {
	x = 0;
	y = 0;
}

template<typename T>
void Point<T>::set_x(T setx) {
	x = setx;
}

template<typename T>
void Point<T>::set_y(T sety) {
	y = sety;
}

template<typename T>
T Point<T>::get_x() {
	return x;
}

template<typename T>
T Point<T>::get_y() {
	return y;
}

template<typename T>
Point Point<T>::plus(Point operand2) {
	Point temp;
	temp.set_x(get_x() + operand2.get_x());
    temp.set_y(get_y() + operand2.get_y());
	return temp;
}

template<typename T>
void Point<T>::print() {

	cout << "(" << x << "," << y << ")";

}

Edited 4 Years Ago by jigglymig: n/a

template<typename T>
Point<T> Point<T>::plus(Point<T> operand2) {
	Point temp;
	temp.set_x(get_x() + operand2.get_x());
	temp.set_y(get_y() + operand2.get_y());
	return temp;
}

Edited 4 Years Ago by deceptikon: n/a

This question has already been answered. Start a new discussion instead.