73 lines
697 B
C
Executable File
73 lines
697 B
C
Executable File
|
|
|
|
|
|
|
|
class vector2{
|
|
|
|
float x;
|
|
|
|
float y;
|
|
|
|
|
|
constructor( float x, float y ) {
|
|
|
|
//printf("constructor has been called.. x: %i, y: %i \n", x, y);
|
|
|
|
this->x = x;
|
|
|
|
this->y = y;
|
|
|
|
// this causes an infinity loop.
|
|
// vector2 a = new vector2( 0, 0 );
|
|
|
|
// this->add( &a );
|
|
|
|
}
|
|
|
|
|
|
|
|
vector2 * operator+( vector2 * b ){
|
|
|
|
this->add( b );
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
vector2 * operator+=( struct vector2 * b ) {
|
|
|
|
// not proper
|
|
//strcat( this, b );
|
|
|
|
//printf("operator += triggered");
|
|
|
|
return b;
|
|
}
|
|
|
|
add( vector2 * a ) {
|
|
|
|
this->x += a->x;
|
|
|
|
this->y += a->y;
|
|
|
|
}
|
|
|
|
subtract( vector2 * a ) {
|
|
|
|
this->x -= a->x;
|
|
|
|
this->y -= a->y;
|
|
|
|
}
|
|
|
|
int length() {
|
|
|
|
return this->x + this->y;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|