Klasse 5

//Asphqu.cpp

#include <iostream>//cout

#include <cmath>//pow

using namespace std;

 

class Asphalt

{

 private:

   double a;

public:

Asphalt() {}

void write(double asp)

{ a= asp; cout <<endl<< a; }

 

double quadrat()

{//das Quadrat einer Zahl berechnen:

double temp=pow(a, 2); //pow

return temp;

}

 

//Ab hier kommt die Typangabe double nicht

//mehr vor, ist wohl unnötig.

void show()

{ cout<<endl<< a; }

void add(Asphalt as2, Asphalt as3);

};//Ende der class Asphalt

void Asphalt::add(Asphalt as2, Asphalt as3)

 {

     a = as2.a + as3.a;

}

 

int main()

{

 cout << "Hello, here is Asphalt.";

Asphalt asph1;

Asphalt asph2;

Asphalt asph3, asph4;

asph1.write(200);

asph2.write(350);

 

asph3.add(asph1, asph2);

asph3.show();

 

asph4.write(10);

cout << endl << "Quadrat: " << asph4.quadrat();

return 0;

}

Stell das YouTube-Fenster groß, damit Du etwas lesen kannst!



friend-Funktion

//friend1.cpp nach Prata ab S.362
#include <iostream>

using namespace std;

class taucher;

class diva
{
    private:
        string vorname;
        string nachname;
        string stimmlage;
        double einkommen;
    public:
        diva();
        diva(string fn, string ln, string rng="", double inc=0);
        ~diva();
        void zeige_diva();
        friend double gesamt_einkommen(const diva & d1, const taucher & d2);
};

class taucher
{
    private:
        string vorname;
        string nachname;
        double max_tiefe;
        double einkommen;
    public:
        taucher();
        taucher(string fn, string ln, double md=0.0, double inc=0);
        ~taucher();
        void zeige_taucher();
        friend double gesamt_einkommen(const diva & d1, const taucher & d2);
};

diva::diva() {}
diva::diva(string fn, string ln, string rng, double inc)
{
    vorname = fn;
    nachname = ln;
    stimmlage = rng;
    einkommen = inc;
}
diva::~diva() {}
void diva::zeige_diva()
{
    cout << "Die beruehmte " << stimmlage << " " << vorname << " ";
    cout << nachname << endl << "verdient Euro " << einkommen << " pro Jahr." << endl;
}

taucher::taucher() {}
taucher::taucher(string fn, string ln, double md, double inc)
{
    vorname = fn;
    nachname = ln;
    max_tiefe = md;
    einkommen = inc;
}
taucher::~taucher() {}
void taucher::zeige_taucher()
{
    cout << "Der " << vorname << " " << nachname << " verdient Euro ";
    cout << einkommen << " pro Jahr und kann" << endl;
    cout << max_tiefe << " Meter tief tauchen." << endl;
}
//Die friend-Funktion:
double gesamt_einkommen(const diva & d1, const taucher & d2)
 { return d1.einkommen + d2.einkommen; }
 
 int main()
 {
     diva ehefrau("Eva", "Jones", "Sopranistin", 48500.0);
     taucher ehemann("Sealy", "Lead", 150, 24880.0);
     ehefrau.zeige_diva();
    ehemann.zeige_taucher();
    cout << "Das Gesamteinkommen betraegt " << gesamt_einkommen(ehefrau, ehemann) << endl;
    cin.get();
    return 0;
 }