Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <iostream>
- #include <string>
- using namespace std;
- // yliluokka
- class Ajoneuvo {
- string rekisterinumero;
- int maxMatkustajaMaara;
- double maxPolttoaine;
- double polttoaineKulutus;
- public:
- Ajoneuvo();
- Ajoneuvo(string,int,double,double);
- void asetaRekisterinumero(string);
- void asetaMaxMatkustajaMaara(int);
- void asetaMaxPolttoaine(double);
- void asetaPolttoaineKulutus(double);
- string palautaRekisterinumero();
- int palautaMaxMatkustajaMaara();
- double palautaMaxPolttoaine();
- double palautaPolttoaineKulutus();
- double polttoaineTarve(double);
- };
- // yliluokan toteutus
- Ajoneuvo::Ajoneuvo() {
- rekisterinumero = "";
- maxMatkustajaMaara = 0;
- maxPolttoaine = 0.0;
- polttoaineKulutus = 0.0;
- }
- Ajoneuvo::Ajoneuvo(string rek, int matkus, double max, double kulutus) {
- rekisterinumero = rek;
- maxMatkustajaMaara = matkus;
- maxPolttoaine = max;
- polttoaineKulutus = kulutus;
- }
- // setterit
- void Ajoneuvo::asetaRekisterinumero(string rek) {
- rekisterinumero = rek;
- }
- void Ajoneuvo::asetaMaxMatkustajaMaara(int matkus) {
- maxMatkustajaMaara = matkus;
- }
- void Ajoneuvo::asetaMaxPolttoaine(double max) {
- maxPolttoaine = max;
- }
- void Ajoneuvo:: asetaPolttoaineKulutus(double kulutus) {
- polttoaineKulutus = kulutus;
- }
- // getterit
- string Ajoneuvo::palautaRekisterinumero() {
- return rekisterinumero;
- }
- int Ajoneuvo::palautaMaxMatkustajaMaara() {
- return maxMatkustajaMaara;
- }
- double Ajoneuvo::palautaMaxPolttoaine() {
- return maxPolttoaine;
- }
- double Ajoneuvo::palautaPolttoaineKulutus() {
- return polttoaineKulutus;
- }
- // funktiot
- double Ajoneuvo::polttoaineTarve(double matka) {
- return polttoaineKulutus * matka;
- }
- // Ajoneuvosta periytetyt luokat
- // kuorma-auto
- class Kuormaauto : public Ajoneuvo {
- double lavanTilavuus;
- public:
- Kuormaauto();
- Kuormaauto(string,int,double,double,double);
- void asetaLavanTilavuus(double);
- double palautaLavanTilavuus();
- };
- Kuormaauto::Kuormaauto() {
- lavanTilavuus = 0.0;
- }
- Kuormaauto::Kuormaauto(string rek, int matkus, double max, double kulutus, double tilavuus)
- : Ajoneuvo(string rek, int matkus, double max, double kulutus) {
- lavanTilavuus = tilavuus;
- }
- void Kuormaauto::asetaLavanTilavuus(double tilavuus) {
- lavanTilavuus = tilavuus;
- }
- double Kuormaauto::palautaLavanTilavuus() {
- return lavanTilavuus;
- }
- // linja-auto
- class Linjaauto : public Ajoneuvo {
- double matkareitinPituus;
- public:
- Linjaauto();
- Linjaauto(string,int,double,double,double);
- void asetaMatkareitinPituus(double);
- double palautaMatkareitinPituus();
- };
- Linjaauto::Linjaauto() {
- matkareitinPituus = 0.0;
- }
- Linjaauto::Linjaauto(string rek, int matkus, double max, double kulutus, double matka)
- : Ajoneuvo(string rek, int matkus, double max, double kulutus) {
- matkareitinPituus = matka;
- }
- void Linjaauto::asetaMatkareitinPituus(double pituus) {
- matkareitinPituus = pituus;
- }
- double Linjaauto::palautaMatkareitinPituus() {
- return matkareitinPituus;
- }
- // main
- int main(int argc, char *argv[])
- {
- Kuormaauto kuormaauto1("ABC-123", 3, 50.0, 5.5, 100);
- cout << "Kuorma-auto 1 tarvitsee " << kuormaauto1.polttoaineTarve(100)
- << " polttoainetta sadalla kilometrillä" << endl;
- Kuormaauto kuormaauto2;
- kuormaauto2.asetaRekisterinumero("DEF-456");
- kuormaauto2.asetaMaxMatkustajaMaara(4);
- kuormaauto2.asetaMaxPolttoaine(75.5);
- kuormaauto2.asetaPolttoaineKulutus(3.7);
- kuormaauto2.asetaLavanTilavuus(50);
- cout << "Kuorma-auto 2 tarvitsee " << kuormaauto2.polttoaineTarve(100)
- << " polttoainetta sadalla kilometrillä" << endl;
- Linjaauto linjaauto1("GHI-789", 50, 100.0, 7.6, 30);
- cout << "Linja-auto 1 tarvitsee " << linjaauto1.polttoaineTarve(100)
- << " polttoainetta sadalla kilometrillä" << endl;
- Linjaauto linjaauto2;
- linjaauto2.asetaRekisterinumero("ABC-321");
- linjaauto2.asetaMaxMatkustajaMaara(30);
- linjaauto2.asetaMaxPolttoaine(47.1);
- linjaauto2.asetaPolttoaineKulutus(2.5);
- linjaauto2.asetaMatkareitinPituus(20);
- cout << "Linja-auto 2 tarvitsee " << linjaauto2.polttoaineTarve(100)
- << " polttoainetta sadalla kilometrillä" << endl;
- system("PAUSE");
- return EXIT_SUCCESS;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement