Wie erstelle ich ein Array von Objekten?
Hallo Zusammen!
Folgender Code:
Im Klartext: ich will, dass mein Auto 4 Sommerreifen bekommt. Aber irgendwie funktioniert das nicht.
Bitte um Hilfe!
Folgender Code:
Class Autoreifen
{
private bool sommer;
public: Autoreifen(bool isommer)
{
sommer=isommer;
}
}
Class Auto
{
Autoreifen* autoreifen[4];
public: Auto()
{
for(int i=0;i<4;i++) autoreifen[i]=new autoreifen(true);
}
}
Im Klartext: ich will, dass mein Auto 4 Sommerreifen bekommt. Aber irgendwie funktioniert das nicht.
Bitte um Hilfe!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 128473
Url: https://administrator.de/contentid/128473
Ausgedruckt am: 19.11.2024 um 22:11 Uhr
5 Kommentare
Neuester Kommentar
Hi !
Tyres out of season error.....jaschonruhigbin...
mrtux
Tyres out of season error.....jaschonruhigbin...
mrtux
Hi spreader,
Wieviele denn sonst ?
Ich würde . . .
1. auf das Array verzichten, denn Bereifung ist Bereifung, egal wieviel Reifen es sind
2. statt einen bool'schen Parameter auf true(Sommer) oder false(Winter) zu setzen, eine
Funktion einsetzen, die mir den aktuellen Monat liefert, dann wird "automatisch die richtige Bereifung gewählt".
Mein Vorschlag:
Da die Bereifung zu den Standardeigenschaften eines Auto's gehört, finde ich es sinnvoller diese
Eigenschaften auch in die "Autoklasse" aufzunehmen(Nur meine Meinung).
Gruß
Günni
P.S.:
Wirklich sehr schwer zu erraten, wenn man sich ansieht, in welchem Bereich der Fragesteller postet.
Ein syntaktisch richtiger Code erzeugt keine Fehlermeldung.
Quelle zu Zeitfunktionen unter CPP: http://www.willemer.de/informatik/cpp/timelib.htm
Im Klartext: ich will, dass mein Auto 4 Sommerreifen bekommt.
Wieviele denn sonst ?
Ich würde . . .
1. auf das Array verzichten, denn Bereifung ist Bereifung, egal wieviel Reifen es sind
2. statt einen bool'schen Parameter auf true(Sommer) oder false(Winter) zu setzen, eine
Funktion einsetzen, die mir den aktuellen Monat liefert, dann wird "automatisch die richtige Bereifung gewählt".
Mein Vorschlag:
#include "stdafx.h"
#include <time.h>
#include <string.h>
/* Funktionsprototypen*/
int monat(void);
class CAuto{
private:
char *Bereifung;
public:
CAuto();
void bereifung(int);
void zeige_reifen();
};
int _tmain(int argc, _TCHAR* argv){
/* Ein Auto erzeugen */
CAuto MeinAuto;
/*
Reifen aufziehen:
monat() gibt den aktuellen Monat zurück, deshalb werden jetzt Winterreifen zugewiesen(November bis März)
Um Sommerreifen zuzuweisen, in den Klammern eine Zahl zwischen 4 und 10(April bis Oktober) eingeben
*/
MeinAuto.bereifung(monat());
/* Mit welchen Reifen fährt mein Auto? */
MeinAuto.zeige_reifen();
return 0;
}
/*************** Klassenmethoden **********************/
/* Standardkonstruktor */
CAuto::CAuto(){}
/* Bereifung zuweisen */
void CAuto::bereifung(int m){
Bereifung=new char[12];
if(m>10 || m<4){
strcpy(Bereifung,"Winterreifen");
}else{
strcpy(Bereifung,"Sommerreifen");
}
}
/* Aktuelle Bereifung zeigen */
void CAuto::zeige_reifen(){
printf("\nIhr Auto faehrt zur Zeit mit %s.\n\n",Bereifung);
}
/* Funktionsprototypen */
Funktion gibt aktuellen Monat als Zahl zurück
*/
int monat(){
time_t Zeitstempel;
tm *nun;
Zeitstempel = time(0);
nun = localtime(&Zeitstempel);
return (nun->tm_mon+1);
}
Da die Bereifung zu den Standardeigenschaften eines Auto's gehört, finde ich es sinnvoller diese
Eigenschaften auch in die "Autoklasse" aufzunehmen(Nur meine Meinung).
Gruß
Günni
P.S.:
Was für eine Sprache ist das genau?
wir vermuten mal, dass es sich um C++ handelt.
Wirklich sehr schwer zu erraten, wenn man sich ansieht, in welchem Bereich der Fragesteller postet.
Wie sieht die Fehlermeldung aus?
Ein syntaktisch richtiger Code erzeugt keine Fehlermeldung.
Quelle zu Zeitfunktionen unter CPP: http://www.willemer.de/informatik/cpp/timelib.htm