Startprobleme in C++ (OOP)
-
Artchi schrieb:
// Datei: elMaschinen.h #pragma once #ifndef ELMASCHINEN_H #define ELMASCHINEN_H...
rofl
doppelt gemoppelt hält besser?
Wenn du das für so wichtig hältst, dan mach es so (nicht jeder Benutzer deiner Lib wird eine MS-Compiler haben und würde sich sonst an den Compilerwarnungen erfreuen müssen):#ifdef _MSC_VER #if _MSC_VER > 1000 #pragma once #endif #endif #ifndef EL_MASCHINEN_H #define EL_MASCHINEN_H ... #endif
Außerdem:
[cpp]// Datei: elMaschinen.cpp#include "elMaschinen.h"
elMaschinen::elMaschinen(float VerlLeistungNullGr, float VerlLeistungVierzGr, float Temp)
: VLeistN (VerlLeistungNullGr), VLeistV (VerlLeistungVierzGr), Temperatur (Temp)
{
}[/cpp]Lieber konsequent bleibenMoritz
-
Hi(e)lfe???!!!?
#ifdef _MSC_VER #if _MSC_VER > 1000 #pragma once #endif #endif #ifndef EL_MASCHINEN_H #define EL_MASCHINEN_H ... #endif
Hä, schluck, schwitz...
Das sieht ja noch schlimmer aus als das erste??
Gibts dazu vielleicht ne dummen bzw Anfänger- Erklärung (am besten für beides)???Ach und noch was --> Was ist ne Referenz????
-
cppNeuling schrieb:
#ifdef _MSC_VER // wenn Microsoft-Compiler verwendet wird #if _MSC_VER > 1000 // wenn Compilerversion > 1000 #pragma once // Schutz vor mehrfachen Includen; geht AFAIK nur auf MS-Compiler #endif #endif #ifndef EL_MASCHINEN_H // ebenfalls Schutz vor mehrfachem Includen (such mal nach "Include-Guards"); konventionelle Art #define EL_MASCHINEN_H ... #endif
Ach und noch was --> Was ist ne Referenz????
Sieh dir ein C++-Tutorial an (rechts oben auf den [Tutorial]-Link klicken).
Moritz
-
Ok,ich habs mal soweit fertig, da kommen jetzt aber nen Paar Fehlermeldungen , mit denen ich nicht ganz klar komme:
-Fehlerm_1: ...elmaschinen.h(17) error C2629: 'class elMaschinen (' unerwartet
-Fehlerm_2: ...elmaschinen.h(17) error C2238: Unerwartete(s) Token vor ';'
-Fehlerm_3: ...elmaschinen.cpp(6)error C2511: 'elMaschinen::elMaschinen' : Überladene Member-Funktion
'void (float,float,float)' nicht in 'elMaschinen' gefunden
Fehlerm_4: ...elmaschinen.h(28) : error C2092: Funktionen koennen keine Feldelemente seinZu Felerm4:
Es sollen 10 Verschiedene Bauteile angelegt u. deren Referenzen in einem Feld angelegt werden
Dabei soll jedes Bauteil Gleiche Werte für verlustleistung und Zufallswerte für Temperat. erhalten.Header-Datei
// Datei: elMaschinen.h #ifdef _MSC_VER // wenn Microsoft-Compiler verwendet wird #if _MSC_VER > 1000 // wenn Compilerversion > 1000 #pragma once // Schutz vor mehrfachen Includen; geht nur auf MS-Compiler #endif #endif #ifndef EL_MASCHINEN_H // ebenfalls Schutz vor mehrfachem Includen (such mal nach "Include-Guards"); konventionelle Art #define EL_MASCHINEN_H class elMaschinen { private: float VLeistN, VLeistV, Temperatur; public: void elMaschinen(float VerlLeistungNullGr=0, float VerlLeistungVierzGr=0, Temp=0);//Fehlerm_1,2 void setVLeistN(float VerlLeistungNullGr); double getVLeistN(void); void setVLeistV(float VerlLeistungVierzGr); double getVLeistV(void); void setTemperatur(float Temp); double getTemperatur(void); int Bauteile[10](float &Leist, float &Temp);//Fehlerm_4 }; #endif // EL_MASCHINEN_H
cpp-Datei
// Datei: elMaschinen.cpp #include "elMaschinen.h" elMaschinen::elMaschinen(float VerlLeistungNullGr, float VerlLeistungVierzGr, float Temp)//Fehlerm_3 { VLeistN= VerlLeistungNullGr; VLeistV= VerlLeistungVierzGr; Temperatur=Temp; } void elMaschinen::setVLeistN(float VerlLeistungNullGr) { VLeistN=VerlLeistungNullGr; } double elMaschinen::getVLeistN(void) { return VLeistN; } void elMaschinen::setVLeistV(float VerlLeistungVierzGr) { VLeistV= VerlLeistungVierzGr; } double elMaschinen::getVLeistV(void); { return VLeistN; } void elMaschinen::setTemperatur(float Temp) { Temperatur=Temp; } double elMaschinen::getTemperatur(void) { return Temperatur; }
-
int Bauteile[10](float &Leist, float &Temp);//Fehlerm_4
Was willst du damit bezwecken?
-
int Bauteile[10](float &Leist, float &Temp);//Fehlerm_4
Was willst du damit bezwecken?
Zu Felerm4:
Es sollen 10 Verschiedene Bauteile angelegt u. deren Referenzen in einem Feld angelegt werden
Dabei soll jedes Bauteil Gleiche Werte für verlustleistung und Zufallswerte für Temperat. erhalten.
-
du definierst damit aber eine Methode, die int als returntyp hat und Bauteil[10] heißt und da meckert der Complier, weil Bezeichner keine eckigen Klammern haben dürfen.
-
int Bauteile[10](float &Leist, float &Temp);//Fehlerm_4
Was willst du damit bezwecken?
Zu Felerm4:
Es sollen 10 Verschiedene Bauteile angelegt u. deren Referenzen in einem Feld angelegt werden
Dabei soll jedes Bauteil Gleiche Werte für verlustleistung und Zufallswerte für Temperat. erhalten.Wie mach ich sowas dann???
PS: Alle anderen Fehler hab ich behoben.
-
ich verstehe nicht wie du das meinst
Meinst du mit Bauteile ein Objekt deiner Klasse?
-
Hier nochmal meine Aufgabe:
Aufgabenstellung war:
Eine Klasse für "elektrische Bauteile" schreiben
Klasse soll folgende Attribute haben:
Verlustleistung bei 0 Grad, V-Leistung bei 40 Grad und die Temperatur
Für jedes Attribut soll es Set und Get- Methode geben
Es sollen 10 Verschiedene Bauteile angelegt u. deren Referenzen in einem Feld angelegt
werden Dabei soll jedes Bauteil Gleiche Werte für Verlustleistung und Zufallswerte für
Temperatur erhalten.dann müsste das schon ein Objekt meiner Klasse sein oder???
Aber wie bring ich cpp jetzt die 10 Bauteile bei????So wies ich machen wollte schmeckts cpp nicht
-
elMaschienen bauteile[10]; //Damit legst du 10 Bauteile vom Typ deiner Klasse an
-
Danke für die Antworten, ich versuch den Rest jetzt selbst, dürfte durch eure hilfe glaub kein Problem mehr sein!!!
Thx