C++ fundamentals through coding exercises
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

1.8 KiB

2 Parametrillisen muodostimen rakentaminen

Tehtävä:

Luvun toisessa tehtävässä sinun tulee kirjoittaa jo aiemmin tutuksi tulleeseen luokkaan "Piste" parametrillisen muodostimen toteutus.

Tämä muodostin on esitelty luokan määrittelyssä seuraavasti: Piste:Piste(int x, int y);

Muodostin sijoittaa parametrina saadut arvot jäsenmuuttujiin "x_" ja "y_". Kirjoittamaasi muodostinta testataan seuraavalla pääohjelmalla:

int main()
{
int x, y;
cout << "Anna muodostettavan olion x-koordinaatti: ";
cin >> x;
cout << "Anna muodostettavan olio y-koordinaatti: ";
cin >> y;
Piste pisteolio(x, y);
pisteolio.TulostaPiste();
return 0;
}

Pääohjelma kysyy käyttäjältä muodostettavan olion koordinaatit ja muodostaa automaattisen olion kutsuen sen parametrillista muodostinta.

Example output:

Anna muodostettavan olion x-koordinaatti: 2
Anna muodostettavan olio y-koordinaatti: 1
Pisteen x-koordinaatti: 2
Pisteen y-koordinaatti: 1

Vastaus:

//** Pre-defined code in the assignment **//
#include <iostream>
using namespace std;
class Piste
{
public:
Piste(int x, int y);
void TulostaPiste();
void AsetaPiste(int x, int y);
private:
int x_;
int y_;
};
void Piste::TulostaPiste()
{
cout << "Pisteen x-koordinaatti: " << x_ << endl;
cout << "Pisteen y-koordinaatti: " << y_ << endl;
}
void Piste::AsetaPiste(int x, int y)
{
x_ = x;
y_ = y;
}
//** ---------- ---------- ---------- **//
Piste::Piste(int x, int y) : x_(x), y_(y)
{
}
//** Pre-defined code in the assignment **//
int main()
{
int x, y;
cout << "Anna muodostettavan olion x-koordinaatti: ";
cin >> x;
cout << "Anna muodostettavan olio y-koordinaatti: ";
cin >> y;
Piste pisteolio(x, y);
pisteolio.TulostaPiste();
return 0;
}
//** ---------- ---------- ---------- **//