000
22.11.2015, 16:58 Uhr
Carolina Maria Acosta
|
Hallo, ich habe ein kleinen Programm in Visual Studio erstellt, wo ich zwei Objekte erzeugen kann.
Ausgabe im Compiler: ID 1000 Hersteller Mercedes Baujahr 2015 Leistung 320 PS Art Cabrio Gewicht 1 Tonne
ID 1001 Hersteller Ferari Baujahr 2015 Leistung 420 PS Art Cabrio Gewicht 2 Tonnen
Ich möchte jett das Gewicht der beiden erstellten Objekte vergleichen und derjenige Hersteller, der weniger wiegt,
bekommt einen Bonus. Was dann auch in der Konsole ausgegeben sollte. Wie mache ich das, bin am verzweifeln. :/
Zu meinem Programm, habe 3 cpp und 2 Header Dateien. Das Gewicht ist in der Klasse "Pkw" und der Hersteller ist in der
Klasse "Fahrzeuge".
Fahrzeuge.h
C++: |
#ifndef FAHRZEUGE_H #define FAHRZEUGE_H
class Fahrzeuge { private: static int serial; unsigned int m_id; char* m_hersteller; unsigned int m_baujahr; unsigned int m_mleistung;
public: Fahrzeuge(char* hersteller, unsigned int baujahr, unsigned int mleistung); ~Fahrzeuge(); Fahrzeuge(Fahrzeuge &otherFahrzeuge); Fahrzeuge &operator=(Fahrzeuge &otherFahrzeuge);
//Set Methode void setHersteller(char* hersteller); void setBaujahr(unsigned int baujahr); void setMleistung(unsigned int mleistung);
//Get Methode char* getHersteller() { return m_hersteller; } unsigned int getBaujahr() { return m_baujahr; } unsigned int getMleistung() { return m_mleistung; }
void destroy(); void print();
};
#endif
|
Fahrzeuge.cpp
C++: |
#include"Fahrzeuge.h" #include<iostream>
using namespace std;
int Fahrzeuge::serial = 1000;
Fahrzeuge::Fahrzeuge(char* hersteller, unsigned int baujahr, unsigned int mleistung) :m_id(serial++) { this->m_hersteller = new char[strlen(hersteller) + 1]; strcpy(this->m_hersteller, hersteller); this->m_baujahr = baujahr; this->m_mleistung = mleistung; }
Fahrzeuge::~Fahrzeuge() { destroy(); }
Fahrzeuge::Fahrzeuge(Fahrzeuge &otherFahrzeuge) :m_id(serial++) { this->m_hersteller = new char[strlen(otherFahrzeuge.m_hersteller) + 1]; strcpy(this->m_hersteller, otherFahrzeuge.m_hersteller); this->m_baujahr = otherFahrzeuge.m_baujahr; this->m_mleistung = otherFahrzeuge.m_mleistung; }
Fahrzeuge &Fahrzeuge::operator=(Fahrzeuge &otherFahrzeuge) { if (this != &otherFahrzeuge) { void destroy(); this->m_hersteller = new char[strlen(otherFahrzeuge.m_hersteller) + 1]; strcpy(this->m_hersteller, otherFahrzeuge.m_hersteller); this->m_baujahr = otherFahrzeuge.m_baujahr; this->m_mleistung = otherFahrzeuge.m_mleistung; } return *this; }
void Fahrzeuge::destroy() { delete[] m_hersteller; }
void Fahrzeuge::print() { cout << "ID\t\t\t: " << m_id << endl; cout << "Hersteller\t\t: " << m_hersteller << endl; cout << "Baujahr\t\t\t: " << m_baujahr << endl; cout << "Motorenleistung\t\t: " << m_mleistung << " PS" << endl; }
|
Pkw.h
C++: |
#ifndef PKW_H #define PKW_H #include"Fahrzeuge.h"
class Pkw:public Fahrzeuge { private: char* m_art; double m_gewicht;
public: Pkw(char* art, double gewicht, char* hersteller, unsigned int baujahr, unsigned int mleistung); ~Pkw();
//Set Methode void setArt(char* art); void setGewicht(double gewicht);
//Get Methode char* getArt() { return m_art; } double getGewicht() { return m_gewicht; }
void printPkw();
}; #endif /* PKW_H */
|
Pkw.cpp
C++: |
#include"Pkw.h" #include<iostream>
using namespace std;
Pkw::Pkw(char* art, double gewicht, char* hersteller, unsigned int baujahr, unsigned int mleistung) :Fahrzeuge
(hersteller, baujahr, mleistung) { this->m_art = new char[strlen(art) + 1]; strcpy(this->m_art, art); this->m_gewicht = gewicht; }
Pkw::~Pkw() { delete[]m_art; }
void Pkw::printPkw() { print(); cout << "Art\t\t\t: " << m_art << endl; cout << "Gewicht\t\t\t: " << m_gewicht << "\n" << endl; }
|
main.cpp
C++: |
#include<iostream> #include"Fahrzeuge.h" #include"Pkw.h"
using namespace std;
int main() { Pkw p1("Cabrio", 1, "Mercedes", 2015, 320); p1.printPkw();
Pkw p2("Limousine", 3, "Bentley", 2015, 400); p2.printPkw();
system("pause"); }
|
Dieser Post wurde am 22.11.2015 um 18:00 Uhr von FloSoft editiert. |