|
|
- ## 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<iostream>
- 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;
- }
- //** ---------- ---------- ---------- **//
- ```
|