Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <time.h>
- using namespace std;
- class cLok { // Klasse nur minimal definieren
- double leistung;
- public:
- cLok (double lei_in = 16000.0) : leistung (lei_in) {}
- void ausgabe(){
- cout<<"Leistung:"<<leistung<<endl;
- }
- };
- class cWaggon { // Klasse nur minimal definieren
- double laenge;
- double gewicht;
- public:
- cWaggon (double len_in = 14.8, double gew_in = 117.5): laenge (len_in), gewicht(gew_in) {}
- void setLaenge(double laenge_in){
- laenge = laenge_in;
- }
- void setGewicht(double gewicht_in){
- gewicht = gewicht_in;
- }
- double getLaenge(){
- return laenge;
- }
- double getGewicht(){
- return gewicht;
- }
- void ausgabe(){
- cout<<"Gewicht:"<<gewicht<<"; Laenge:"<<laenge<<endl;
- }
- };
- class cZug{
- private:
- string zugbezeichung;
- cLok lok;
- int anzahl,tmp1,tmp2;
- cWaggon * wagen;
- void wagenWerte(){
- srand(time(NULL));
- for(int i = 0 ; i < anzahl; i++){
- tmp1 = (rand()%5) /10;
- tmp2 = (rand()%3 +5) /10;
- double laenge_tmp = (rand()%27+8) + tmp2;
- double gewicht_tmp =(rand()%108 + 12) + tmp1;
- wagen[i].setGewicht(gewicht_tmp);
- wagen[i].setLaenge(laenge_tmp);
- }
- }
- public:
- cZug(cLok lok_in, string zugbezeichung_in,int anzahl_in){
- zugbezeichung = zugbezeichung_in;
- lok = lok_in;
- anzahl=anzahl_in;
- wagen = new cWaggon[anzahl_in];
- //Aufruf wagenwerte um wagen mit Werten zu fuellen
- wagenWerte();
- }
- cZug(cZug &zug_ein){
- lok = zug_ein.lok;
- anzahl = zug_ein.anzahl;
- zugbezeichung = zug_ein.zugbezeichung;
- //neuer waggon der selben groesse wird erstellt
- wagen = new cWaggon[anzahl];
- for(int i =0 ;i < anzahl; i++){
- wagen[i].setGewicht(zug_ein.wagen[i].getGewicht());
- wagen[i].setLaenge(zug_ein.wagen[i].getLaenge());
- }
- }
- void ausgabe(){
- cout<<"Zugbezeichnung:"<<zugbezeichung<<endl;
- lok.ausgabe();
- cout<<"Anzahl Waggons:"<<anzahl<<endl;
- for(int i = 0; i < anzahl; i ++){
- cout<<"Wagen "<<i+1<<endl;
- wagen[i].ausgabe();
- }
- }
- };
- int main(){
- cLok e40;
- cZug gueterZug(e40, "G23421",45);
- cLok e85(21000);
- cZug gueterSchnellZug(e85,"GS4444",12);
- cZug kopierterZug = cZug(gueterZug);
- gueterZug.ausgabe();
- gueterSchnellZug.ausgabe();
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement