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.

86 lines
1.8 KiB

4 years ago
  1. ## 2 Parametrillisen muodostimen rakentaminen
  2. **Tehtävä:**
  3. Luvun toisessa tehtävässä sinun tulee kirjoittaa jo aiemmin tutuksi tulleeseen luokkaan "Piste" parametrillisen muodostimen toteutus.
  4. Tämä muodostin on esitelty luokan määrittelyssä seuraavasti:
  5. Piste:Piste(int x, int y);
  6. Muodostin sijoittaa parametrina saadut arvot jäsenmuuttujiin "x_" ja "y_". Kirjoittamaasi muodostinta testataan seuraavalla pääohjelmalla:
  7. ```
  8. int main()
  9. {
  10. int x, y;
  11. cout << "Anna muodostettavan olion x-koordinaatti: ";
  12. cin >> x;
  13. cout << "Anna muodostettavan olio y-koordinaatti: ";
  14. cin >> y;
  15. Piste pisteolio(x, y);
  16. pisteolio.TulostaPiste();
  17. return 0;
  18. }
  19. ```
  20. Pääohjelma kysyy käyttäjältä muodostettavan olion koordinaatit ja muodostaa automaattisen olion kutsuen sen parametrillista muodostinta.
  21. Example output:
  22. ```
  23. Anna muodostettavan olion x-koordinaatti: 2
  24. Anna muodostettavan olio y-koordinaatti: 1
  25. Pisteen x-koordinaatti: 2
  26. Pisteen y-koordinaatti: 1
  27. ```
  28. **Vastaus:**
  29. ```
  30. //** Pre-defined code in the assignment **//
  31. #include <iostream>
  32. using namespace std;
  33. class Piste
  34. {
  35. public:
  36. Piste(int x, int y);
  37. void TulostaPiste();
  38. void AsetaPiste(int x, int y);
  39. private:
  40. int x_;
  41. int y_;
  42. };
  43. void Piste::TulostaPiste()
  44. {
  45. cout << "Pisteen x-koordinaatti: " << x_ << endl;
  46. cout << "Pisteen y-koordinaatti: " << y_ << endl;
  47. }
  48. void Piste::AsetaPiste(int x, int y)
  49. {
  50. x_ = x;
  51. y_ = y;
  52. }
  53. //** ---------- ---------- ---------- **//
  54. Piste::Piste(int x, int y) : x_(x), y_(y)
  55. {
  56. }
  57. //** Pre-defined code in the assignment **//
  58. int main()
  59. {
  60. int x, y;
  61. cout << "Anna muodostettavan olion x-koordinaatti: ";
  62. cin >> x;
  63. cout << "Anna muodostettavan olio y-koordinaatti: ";
  64. cin >> y;
  65. Piste pisteolio(x, y);
  66. pisteolio.TulostaPiste();
  67. return 0;
  68. }
  69. //** ---------- ---------- ---------- **//
  70. ```