## 2 Piste-luokalle palvelut **Tehtävä:** Edellisessä tehtävässä sinun piti toteuttaa luokan "Piste" määrittely. Nyt tehtävänäsi on toteuttaa luokan määritellyssä esitellyt jäsenfunktiot: AsetaX, AsetaY, KerroPaikka ja Siirra. Luokassa määriteltyjen koordinaattien asettamisesta vastaavat jäsenfunktiot ottavat vastaan kokonaisluvun, jonka funktio sijoittaa sen vastulla olevaan jäsenmuuttujaan. Nämä funktiot eivät palauta arvoa. Pisteen paikan kertomisesta vastaava jäsenfunktio ei ota vastaan parametreja, eikä palauta arvoa. Jäsenfunktion tehtävänä on tulostaa piste-olion koordinaatit esimerkkitulosteen mukaisesti. Funktio tulostaa ensin x-koordinaatin ja tämän alle y-koordinaatin. Jäsenfunktio "Siirra" ottaa vastaan x:n ja y:n siirtymän kokonaislukuarvoina annetussa järjestyksessä. Siirtäminen muuttaa jäsenmuuttujien arvoa annettujen siirtymien mukaisesti. "Siirra" ei palauta arvoa sitä kutsuvalle ohjelman osalle. Huomaa, että esimerkkitulosteessa rivit "Pisteolio muodostettu ja koordinaatit asetettu.", sekä "Pistettä siirretty." ovat vastaustasi testaavan ohjelman aikaan saamia. Example output: ``` Pisteolio muodostettu ja koordinaatit asetettu. Pisteen x-koordinaatti: 34 Pisteen y-koordinaatti: 100 Pistettä siirretty. Pisteen x-koordinaatti: 54 Pisteen y-koordinaatti: 67 ``` **Vastaus:** ``` //** Pre-defined code in the assignment **// #include using namespace std; class Piste { public: void KerroPaikka(); void AsetaX(int x); void AsetaY(int y); void Siirra(int x, int y); private: int x_; int y_; }; //** ---------- ---------- ---------- **// void Piste::AsetaX(int x) { x_ = x; } void Piste::AsetaY(int y) { y_ = y; } void Piste::KerroPaikka() { cout << "Pisteen x-koordinaatti: " << x_ << endl; cout << "Pisteen y-koordinaatti: " << y_ << endl; } void Piste::Siirra(int x, int y) { x_ = x_ + x; y_ = y_ + y; } //** Pre-defined code in the assignment **// int main() { Piste pikseli; pikseli.AsetaX(34); pikseli.AsetaY(100); cout << "Pisteolio muodostettu ja koordinaatit asetettu.\n" pikseli.KerroPaikka(); pikseli.Siirra(20, -33); cout << "Pistettä siirretty.\n" pikseli.KerroPaikka(); return 0; } //** ---------- ---------- ---------- **// ```