#include #include using namespace std; class Vektor{ double vx, vy; public: Vektor(double ux, double uy){ vx=ux; vy=uy; } double pikkus(){ return sqrt(vx*vx+vy*vy); } double x(){return vx;} double y(){return vy;} Vektor* liida(Vektor* v){return new Vektor(vx+v->x(), vy+v->y());} Vektor* lahuta(Vektor* v){return new Vektor(vx-v->x(), vy-v->y());} }; class Liikuja{ Vektor *asukoht; Vektor *kiirusesamm; public: Liikuja(double ax, double ay, double kx, double ky){ asukoht=new Vektor(ax, ay); kiirusesamm=new Vektor(kx, ky); } void tryki(){ cout << "(" << asukoht->x() << ", " << asukoht->y() << " - " << kiirusesamm->x() << ", " << kiirusesamm->y() << ")" << endl; } void teeSamm(){ free(asukoht); //annab vana vektori mälu vabaks asukoht=asukoht->liida(kiirusesamm); } }; int main(void){ Liikuja *hobune=new Liikuja(3, 3, 4, 2); for(int i=0; i<10; i++){ hobune->teeSamm(); hobune->tryki(); } return 0; }