Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.58 KB | None | 0 0
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. // yliluokka
  8. class Ajoneuvo {
  9.     string rekisterinumero;
  10.     int maxMatkustajaMaara;
  11.     double maxPolttoaine;
  12.     double polttoaineKulutus;
  13.      
  14. public:
  15.     Ajoneuvo();
  16.     Ajoneuvo(string,int,double,double);
  17.    
  18.     void asetaRekisterinumero(string);
  19.     void asetaMaxMatkustajaMaara(int);
  20.     void asetaMaxPolttoaine(double);
  21.     void asetaPolttoaineKulutus(double);
  22.    
  23.     string palautaRekisterinumero();
  24.     int palautaMaxMatkustajaMaara();
  25.     double palautaMaxPolttoaine();
  26.     double palautaPolttoaineKulutus();
  27.    
  28.     double polttoaineTarve(double);  
  29. };
  30.  
  31. // yliluokan toteutus
  32. Ajoneuvo::Ajoneuvo() {
  33.     rekisterinumero = "";
  34.     maxMatkustajaMaara = 0;
  35.     maxPolttoaine = 0.0;
  36.     polttoaineKulutus = 0.0;                                      
  37. }
  38.  
  39. Ajoneuvo::Ajoneuvo(string rek, int matkus, double max, double kulutus) {
  40.     rekisterinumero = rek;
  41.     maxMatkustajaMaara = matkus;
  42.     maxPolttoaine = max;
  43.     polttoaineKulutus = kulutus;                        
  44. }
  45.  
  46. // setterit
  47. void Ajoneuvo::asetaRekisterinumero(string rek) {
  48.     rekisterinumero = rek;
  49. }
  50.  
  51. void Ajoneuvo::asetaMaxMatkustajaMaara(int matkus) {
  52.     maxMatkustajaMaara = matkus;
  53. }
  54.  
  55. void Ajoneuvo::asetaMaxPolttoaine(double max) {
  56.     maxPolttoaine = max;    
  57. }
  58.  
  59. void Ajoneuvo:: asetaPolttoaineKulutus(double kulutus) {
  60.     polttoaineKulutus = kulutus;    
  61. }
  62.  
  63. // getterit
  64. string Ajoneuvo::palautaRekisterinumero() {
  65.     return rekisterinumero;
  66. }
  67.  
  68. int Ajoneuvo::palautaMaxMatkustajaMaara() {
  69.     return maxMatkustajaMaara;
  70. }
  71.  
  72. double Ajoneuvo::palautaMaxPolttoaine() {
  73.     return maxPolttoaine;
  74. }
  75.  
  76. double Ajoneuvo::palautaPolttoaineKulutus() {
  77.     return polttoaineKulutus;      
  78. }
  79.  
  80. // funktiot
  81. double Ajoneuvo::polttoaineTarve(double matka) {
  82.     return polttoaineKulutus * matka;
  83. }
  84.  
  85. // Ajoneuvosta periytetyt luokat
  86.  
  87. // kuorma-auto
  88. class Kuormaauto : public Ajoneuvo {
  89.     double lavanTilavuus;
  90.    
  91. public:
  92.     Kuormaauto();
  93.     Kuormaauto(string,int,double,double,double);
  94.  
  95.     void asetaLavanTilavuus(double);
  96.     double palautaLavanTilavuus();
  97.  
  98. };
  99.  
  100. Kuormaauto::Kuormaauto() {
  101.     lavanTilavuus = 0.0;                        
  102. }
  103.  
  104. Kuormaauto::Kuormaauto(string rek, int matkus, double max, double kulutus, double tilavuus)
  105. : Ajoneuvo(string rek, int matkus, double max, double kulutus) {
  106.     lavanTilavuus = tilavuus;    
  107. }
  108.  
  109. void Kuormaauto::asetaLavanTilavuus(double tilavuus) {
  110.     lavanTilavuus = tilavuus;
  111. }
  112.  
  113. double Kuormaauto::palautaLavanTilavuus() {
  114.     return lavanTilavuus;
  115. }
  116.  
  117.  
  118. // linja-auto
  119. class Linjaauto : public Ajoneuvo {
  120.     double matkareitinPituus;
  121.    
  122. public:
  123.     Linjaauto();
  124.     Linjaauto(string,int,double,double,double);
  125.  
  126.     void asetaMatkareitinPituus(double);
  127.     double palautaMatkareitinPituus();
  128. };
  129.  
  130. Linjaauto::Linjaauto() {
  131.     matkareitinPituus = 0.0;
  132. }
  133.  
  134. Linjaauto::Linjaauto(string rek, int matkus, double max, double kulutus, double matka)
  135. : Ajoneuvo(string rek, int matkus, double max, double kulutus) {
  136.     matkareitinPituus = matka;
  137. }
  138.  
  139. void Linjaauto::asetaMatkareitinPituus(double pituus) {
  140.      matkareitinPituus = pituus;
  141. }
  142.  
  143. double Linjaauto::palautaMatkareitinPituus() {
  144.     return matkareitinPituus;
  145. }
  146.  
  147.  
  148. // main
  149. int main(int argc, char *argv[])
  150. {
  151.     Kuormaauto kuormaauto1("ABC-123", 3, 50.0, 5.5, 100);
  152.    
  153.     cout << "Kuorma-auto 1 tarvitsee " << kuormaauto1.polttoaineTarve(100)
  154.          << " polttoainetta sadalla kilometrillä" << endl;
  155.    
  156.     Kuormaauto kuormaauto2;
  157.     kuormaauto2.asetaRekisterinumero("DEF-456");
  158.     kuormaauto2.asetaMaxMatkustajaMaara(4);
  159.     kuormaauto2.asetaMaxPolttoaine(75.5);
  160.     kuormaauto2.asetaPolttoaineKulutus(3.7);
  161.     kuormaauto2.asetaLavanTilavuus(50);
  162.    
  163.     cout << "Kuorma-auto 2 tarvitsee " << kuormaauto2.polttoaineTarve(100)
  164.          << " polttoainetta sadalla kilometrillä" << endl;
  165.        
  166.     Linjaauto linjaauto1("GHI-789", 50, 100.0, 7.6, 30);
  167.    
  168.     cout << "Linja-auto 1 tarvitsee " << linjaauto1.polttoaineTarve(100)
  169.          << " polttoainetta sadalla kilometrillä" << endl;
  170.          
  171.     Linjaauto linjaauto2;
  172.     linjaauto2.asetaRekisterinumero("ABC-321");
  173.     linjaauto2.asetaMaxMatkustajaMaara(30);
  174.     linjaauto2.asetaMaxPolttoaine(47.1);
  175.     linjaauto2.asetaPolttoaineKulutus(2.5);
  176.     linjaauto2.asetaMatkareitinPituus(20);
  177.          
  178.     cout << "Linja-auto 2 tarvitsee " << linjaauto2.polttoaineTarve(100)
  179.          << " polttoainetta sadalla kilometrillä" << endl;
  180.    
  181.    
  182.     system("PAUSE");
  183.     return EXIT_SUCCESS;
  184. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement