• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

C++-Klassen?

H

hihi

Gast
Ich lerne gerade C++. Ich bin jetzt bei den Klassen angekommen. Kann mir mal bitte einer erklären, was das sein soll und vor allem, für was man so was braucht. Ich raffs nämlich auf keinen Meter.
 
Ich weiss zwar selber nicht so richtig genau, was es sind, aber das sollte schon Helfen: Nehmen wir wir haben den Begriff "Computer". Wenn wir uns den Computer aber genauer ansehen, dann gibt es ja noch die Teile, die alle zusammen den Computer bilden (z.B. Mainboard, Prozessor, Netzeil usw.). Dann ist der Computer die Klasse und die Bestandteile die Variblen, welche durch z.B. "int" deklariert werden. Wozu man die benutzt, muss ich auch noch rausfinden. Lass dir das mal lieber von jemandem erklären, der mehr darüber weiss als ich.
 
Tut mir leid wenn ich jetzt was unpassendes reinschreibe aber: Mich interessiert das Thema auch, weil ich auch grad c++ lerne und wwwas mich wirklich stört ist das DDay Schild, das über deinem beitrag liegt!!!!!!!!!!!
Weis einer wie lang das noch bleibt? Ist PCgames wirkllich so arm, das sie sich über billige Werbug, die den Lesern den support durch andere Leser verwehrt finanzieren müssen? Mich hat die Flashwerbung ja schon immer gestört, aber z.B. der Sam fisher, der mal übers bild gekrabbelt ist ging ja auch wieder weg Aber das hir ist der grösste Scheiss!!!!!!!!!!
Ich kaufe mir z.B. keine Spiele, weil mich ne Werbung über einer meiner lieblingshomepagen dabei stört Artikel oder Forenbeiträge zu lesen!
 
hihi am 31.07.2004 10:44 schrieb:
Ich lerne gerade C++. Ich bin jetzt bei den Klassen angekommen. Kann mir mal bitte einer erklären, was das sein soll und vor allem, für was man so was braucht. Ich raffs nämlich auf keinen Meter.
eine class ist ein konstrukt, dass methoden und properties kapselt. aus einer klasse kannst du eine instanz generieren (ein object welches die sichtbaren (public / protected) methoden und properties (felder) der dazugehoerigen implementieren klasse kapseln (man koennte quasi sagen eine klasse ist eine schablone fuer objecte). eine klasse kann die eingeschaften und methoden einer (im fall von c++, sogar mehreren) klassen ableiten (diese erben)[polymorphismus].
klassen / schnittstellen sind die ersten schritte in richtung OO. sie sind bestandteil der sprache c++ und nicht von c, welches eine untermenge von c++ ist.

hth,

Organizator
 
DerboesePiranha am 31.07.2004 11:13 schrieb:
Tut mir leid wenn ich jetzt was unpassendes reinschreibe aber: Mich interessiert das Thema auch, weil ich auch grad c++ lerne und wwwas mich wirklich stört ist das DDay Schild, das über deinem beitrag liegt!!!!!!!!!!!
Weis einer wie lang das noch bleibt? Ist PCgames wirkllich so arm, das sie sich über billige Werbug, die den Lesern den support durch andere Leser verwehrt finanzieren müssen? Mich hat die Flashwerbung ja schon immer gestört, aber z.B. der Sam fisher, der mal übers bild gekrabbelt ist ging ja auch wieder weg Aber das hir ist der grösste Scheiss!!!!!!!!!!
Ich kaufe mir z.B. keine Spiele, weil mich ne Werbung über einer meiner lieblingshomepagen dabei stört Artikel oder Forenbeiträge zu lesen!
Es gibt immer wieder Leute, die es noch nicht mitbekommen haben: Das ist ein Gewinnspiel, keine Werbung! Näheres findest du unter 'Special'.
 
organizator am 31.07.2004 11:31 schrieb:
hihi am 31.07.2004 10:44 schrieb:
Ich lerne gerade C++. Ich bin jetzt bei den Klassen angekommen. Kann mir mal bitte einer erklären, was das sein soll und vor allem, für was man so was braucht. Ich raffs nämlich auf keinen Meter.
eine class ist ein konstrukt, dass methoden und properties kapselt. aus einer klasse kannst du eine instanz generieren (ein object welches die sichtbaren (public / protected) methoden und properties (felder) der dazugehoerigen implementieren klasse kapseln (man koennte quasi sagen eine klasse ist eine schablone fuer objecte). eine klasse kann die eingeschaften und methoden einer (im fall von c++, sogar mehreren) klassen ableiten (diese erben)[polymorphismus].
klassen / schnittstellen sind die ersten schritte in richtung OO. sie sind bestandteil der sprache c++ und nicht von c, welches eine untermenge von c++ ist.

hth,

Organizator


Es tut mir ja Leid, aber das werden aller Wahrscheinlichkeit nach nur Leute verstehen, die bereits wissen was Klassen sind.

Klassen zu erklären ist auch ein bisschen viel für nur einen Post. Ein ganz gutes Buch zu diesem Thema bzw. allgemein zu C++ ist unter folgender ISBN zu finden

C++, Objektorientiertes Programmieren von Anfang an
ISBN: 3-499-60077-3

In dem Buch beschreibt der Author so ziemlich alles was man unter C++ für die Anfänge wissen muss. Das geht von den normalen Variablen bis hin zu Template-Klassen und Smart-Pointern.

Ist denke ich mal nicht zu teuer und meiner Ansicht nach jeden Cent wert.
BOL hat 's auf Vorrat.

mfg Murphy
 
Murphy am 31.07.2004 12:14 schrieb:
Es tut mir ja Leid, aber das werden aller Wahrscheinlichkeit nach nur Leute verstehen, die bereits wissen was Klassen sind.

Klassen zu erklären ist auch ein bisschen viel für nur einen Post. Ein ganz gutes Buch zu diesem Thema bzw. allgemein zu C++ ist unter folgender ISBN zu finden

C++, Objektorientiertes Programmieren von Anfang an
ISBN: 3-499-60077-3

In dem Buch beschreibt der Author so ziemlich alles was man unter C++ für die Anfänge wissen muss. Das geht von den normalen Variablen bis hin zu Template-Klassen und Smart-Pointern.

Ist denke ich mal nicht zu teuer und meiner Ansicht nach jeden Cent wert.
BOL hat 's auf Vorrat.

mfg Murphy

natuerlich ist das c++ (objectorientiertes) programmieren ein sehr abstraktes thema und wuerde dem rahmen dieses forums sprengen. der sprung vom prozeduralen zum OO erfordert viel umstellung und noch mehr abstraktionsfaehigkeiten.
mit OO werden viele programier-paradigmen eingefuehrt. man sollte die werke von GOF (gang of four) gelesen haben und sich mit UML., design patterns etc. auseinandersetzen. OO ist unumgaenglich fuer moderne spiele entwicklungen (flash spielchen ausgenohmen). das was die meisten leute hier lernen wollen ist meines erachtens, die directx api und/oder opengl (sind auch OO disziplinen) und nicht c++. natuerlich kann man diese (auch sehr performant) unter c++ einsetzen. und fuer directx bietet sich vc++ EE sehr gut an.

hier koennte es beginnen:
http://www.codeguru.com/Cpp/G-M/directx/

oder fuer die coolen unter euch;)
http://www.codeguru.com/Cpp/G-M/opengl/

mfg
Organizator
 
organizator am 31.07.2004 12:37 schrieb:
Murphy am 31.07.2004 12:14 schrieb:
Es tut mir ja Leid, aber das werden aller Wahrscheinlichkeit nach nur Leute verstehen, die bereits wissen was Klassen sind.

Klassen zu erklären ist auch ein bisschen viel für nur einen Post. Ein ganz gutes Buch zu diesem Thema bzw. allgemein zu C++ ist unter folgender ISBN zu finden

C++, Objektorientiertes Programmieren von Anfang an
ISBN: 3-499-60077-3

In dem Buch beschreibt der Author so ziemlich alles was man unter C++ für die Anfänge wissen muss. Das geht von den normalen Variablen bis hin zu Template-Klassen und Smart-Pointern.

Ist denke ich mal nicht zu teuer und meiner Ansicht nach jeden Cent wert.
BOL hat 's auf Vorrat.

mfg Murphy

natuerlich ist das c++ (objectorientiertes) programmieren ein sehr abstraktes thema und wuerde dem rahmen dieses forums sprengen. der sprung vom prozeduralen zum OO erfordert viel umstellung und noch mehr abstraktionsfaehigkeiten.
mit OO werden viele programier-paradigmen eingefuehrt. man sollte die werke von GOF (gang of four) gelesen haben und sich mit UML., design patterns etc. auseinandersetzen. OO ist unumgaenglich fuer moderne spiele entwicklungen (flash spielchen ausgenohmen). das was die meisten leute hier lernen wollen ist meines erachtens, die directx api und/oder opengl (sind auch OO disziplinen) und nicht c++. natuerlich kann man diese (auch sehr performant) unter c++ einsetzen. und fuer directx bietet sich vc++ EE sehr gut an.

hier koennte es beginnen:
http://www.codeguru.com/Cpp/G-M/directx/

oder fuer die coolen unter euch;)
http://www.codeguru.com/Cpp/G-M/opengl/

mfg
Organizator

@orgamizator
Sorry, ich verstehs nicht.
@murphy
danke für den Buchtipp. da sieht man dann halt wieder, wie sehr einem eine Community helfen kann (nein, dass ist nicht ironsich gemeint.)
wäre z.B. nie genau auf dieses Buch gekommen.
Danke.
Werde mir dieses Buch zulegen.


Zu dem Gewinnspiel: Ich weiß, falscher Thread, aber mich regt es auch auf. Vielleicht wäre es besser, wenn man den user vorher fragen würde, ob er an so etwas teilnehmen will.
Denn es gibt hier genug Communitymitglieder denen das ganz schön (sorry für die Ausdrucksweise) auf den Sack geht.
Ist meine Meinung.
VLG Jonas
 
hihi am 31.07.2004 14:44 schrieb:
organizator am 31.07.2004 12:37 schrieb:
Murphy am 31.07.2004 12:14 schrieb:
Es tut mir ja Leid, aber das werden aller Wahrscheinlichkeit nach nur Leute verstehen, die bereits wissen was Klassen sind.

Klassen zu erklären ist auch ein bisschen viel für nur einen Post. Ein ganz gutes Buch zu diesem Thema bzw. allgemein zu C++ ist unter folgender ISBN zu finden

C++, Objektorientiertes Programmieren von Anfang an
ISBN: 3-499-60077-3

In dem Buch beschreibt der Author so ziemlich alles was man unter C++ für die Anfänge wissen muss. Das geht von den normalen Variablen bis hin zu Template-Klassen und Smart-Pointern.

Ist denke ich mal nicht zu teuer und meiner Ansicht nach jeden Cent wert.
BOL hat 's auf Vorrat.

mfg Murphy

natuerlich ist das c++ (objectorientiertes) programmieren ein sehr abstraktes thema und wuerde dem rahmen dieses forums sprengen. der sprung vom prozeduralen zum OO erfordert viel umstellung und noch mehr abstraktionsfaehigkeiten.
mit OO werden viele programier-paradigmen eingefuehrt. man sollte die werke von GOF (gang of four) gelesen haben und sich mit UML., design patterns etc. auseinandersetzen. OO ist unumgaenglich fuer moderne spiele entwicklungen (flash spielchen ausgenohmen). das was die meisten leute hier lernen wollen ist meines erachtens, die directx api und/oder opengl (sind auch OO disziplinen) und nicht c++. natuerlich kann man diese (auch sehr performant) unter c++ einsetzen. und fuer directx bietet sich vc++ EE sehr gut an.

hier koennte es beginnen:
http://www.codeguru.com/Cpp/G-M/directx/

oder fuer die coolen unter euch;)
http://www.codeguru.com/Cpp/G-M/opengl/

mfg
Organizator

@orgamizator
Sorry, ich verstehs nicht.
@murphy
danke für den Buchtipp. da sieht man dann halt wieder, wie sehr einem eine Community helfen kann (nein, dass ist nicht ironsich gemeint.)
wäre z.B. nie genau auf dieses Buch gekommen.
Danke.
Werde mir dieses Buch zulegen.


Zu dem Gewinnspiel: Ich weiß, falscher Thread, aber mich regt es auch auf. Vielleicht wäre es besser, wenn man den user vorher fragen würde, ob er an so etwas teilnehmen will.
Denn es gibt hier genug Communitymitglieder denen das ganz schön (sorry für die Ausdrucksweise) auf den Sack geht.
Ist meine Meinung.
VLG Jonas

@hihi: kein thema. ist wirklich eine etwas komplexere geschichte.
will aber nichts unversucht lassen:
praktisches beispiel: du hast ein programm in dem autos vorkommen sollen.
du schreibst eine auto klasse. diese hat folgende eigenschaften:
// alles ist public
string hersteller;
int alter;
string farbe;
int geschwindigkeit;

und folgende methoden:

void bremsen();
void beschleunigen();

dann eine 2 klasse namens LKW mit folgender eigenschaft:

bool hatAnhaenger;

dann in deiner int main (oder sonst wo) kannst du folgendes schreiben(auto und lkw muessen includiert werden):

// ein neues auto
Auto meinErstesAuto = new Auto();
meinErstesAuto.hersteller = "Ferrari";
meinErstesAuto.alter = "3";
etc....
Auto meinZweitesAuto = new Auto();
meinZweitesAuto.hersteller = "Porsche";
meinZweitesAuto.alter = "17";
etc....
die klasse LKW leitet sich von Auto ab und vererbt die methoden von Auto.
also:
// beachte die klasse lkw hat die methoden und eigenschafter der klasse auto
LKW meinLKW = new LKW();
meinLKW.hersteller = "Steyer";
meinLKW.alter = "8";
// diese eigenschaft hat meinLKW aus der Lkw klasse bekommen
meinLKW.hatAnhaenger = true;
etc...


wenn mich nicht alles taeuscht ist der "::" operator bei c++ fuer das ableiten zustaendig.

hth & viel erfolg
Organizator
 
Ok, schon eher verstanden :-D Werde mir aber jetzt trotzdem das Buch kaufen.Aber danke für deine Mühe... :top:
 
Ok, ich versuchs mal etwal länger und umfangreicher:

Bevor man erklären kann was Klassen nun sind, sollte man mit dem Begriff der Objektorientierung etwas anfangen können. Objektorientierung bedeutet, dass man beim Design sines Programmes so heran geht, dass man sich überlegt welche Dinge/Objekte/Gegenstände man eigentlich behandelt. Diese Gegenstände um die es geht nennt man OBJEKTE. Jetzt haben diese Objekte bestimmte EIGENSCHAFTEN die nur diesen Objekten eigen sind.

Angenommen Du möchtest ein Programm schreiben welches Computer verwaltet. Dann weist Du, dass es um das OBJEKT "Computer" geht. Ok, was für Eigenschaften hat ein Computer? Er hat z.B. einen Namen (z.B im Netzwerk den Namen "Server" oder "Mein Spielcomputer" oder "Router"), einen bestimmten Speicherplatz (10GB, 100GB, 200GB) und vielleicht noch ein CD-Laufwerk (JA oder NEIN).

Wenn man es nun in das Klassenmodell übertragen möchte, gäbe es die Klasse "Computer" mit den Eigenschaften:
Name (eine Zeichenkette (String) ist), mit dem
Speicherplatz (eine nicht-negative reelle Zahl (double mit Einschränkung))
CD-Laufwerk (JA oder NEIN (Boolscher Wert)

In einer Pseudosprache sähe das so aus:

class Computer{
public string name;
public double speicherplatz;
public boolean hatCDLaufwerk;

public Computer(String name, double speicherplatz, boolean hatCDLaufwerk){
// Zuweisung evtl Überprüfungen
}
}


Diese Klasse ist also ein Comtainer, bzw. eine Vorlage für existierende, bzw. zu erstellende Compuer. Wenn wir jetzt einen neuen Computer anlegen, so nennt man diesen konkreten Computer eine INSTANZ dieser KLASSE. Um so eine Instanz erstellen zu können brauchen wir einen sogenannten Konstruktor. EIn Konstruktor ist eine METHODE, sprich eine Funktion die der Klasse eigen ist, die beim Aufruf von aussen bestimmte Dinge tut. EIn Konstruktor ist nun eine besondere Methode die beim Aufruf ein neues Objekt/eine neue Instanz dieser Klasse erzeugt. Beispiel:

...
Computer meinTollerComputer = new Computer("Router", 120, false);
...

In dieser Form hätten wir z.B. eine neue INSTANZ der Klasse COMPUTER angelegt. Der Name der Instanz wäre meinTollerComputer, der Name so wie der Rechner selber genannt wird wäre "Router", der Plattenplatz wird auf 120 gesetzt, und ein CD LAufwerk hat er leider nicht.

Wenn ich jetzt nun von diesem Computer wissen möchte, wie er heißt, kann ich dies tun, indem ich mittels des Instanznamens auf die entsprechende VARIABLE zugreife. Beispiel

...
printf( meinTollerComputer.name )
printf( meinTollerComputer.speicherplatz )
printf( meinTollerComputer.hatCDLaufwerk )
..

Herauskommen sollte:
Router
120
false

Jetzt kommen wir zu einem Problem. Angenommen ich habe diese Computerinstanz erzeugt, so kann ich diese Varieblen nicht nur auslesen, sondern auch einfach verändern. Ich könnte also im Prinzip so etwas machen wie:

meinTollerComputer.speicherplatz = -1000;

Was natürlich quatsch ist, da negativer Speicherplatz überhaupt keinen Sinn macht. Eine Lösung ist das Prinzip des "Information Hidings" bzw. der "Kapselung". Hintr diesen toll klingenden Namen verbirgt sich ein einfaches Prinzip:
Die Werte die ein Objekt hat gehen erst einmal niemanden etwas an. Weder soll irgendjemand sie einfach auslesen können, noch verändern können ohne bestimmte Formalien einzuhalten.
In der Objektorientierung geht man nun dabei so vor, dass man zum einen die Eigenschaften/Varieblen (Speicherplatz/Name usw.) nicht mehr "public" also öffentlich, sondern sie "private" also privat macht. Weiterhin schreibt man sich Methoden die wiederum öffentlich sind und die gewünschten Werte zurückgeben, bzw. wieder andere die diese verändern können. Als Beispiel unsere Klasse Computer in der gekapselten Version:

class Computer{
private string name;
private double speicherplatz;
private boolean hatCDLaufwerk;

public Computer(string name, double speicherplatz, boolean hatCDLaufwerk){
// Zuweisung evtl Überprüfungen
}

public string get_name(){
return name;
}

public double get_speicherplatz(){
return speicherplatz;
}

public boolean get_hatCDLAufwerk(){
return hatCDLAufwerk;
}

public void set_name (string name){
this.name = name;
}
}

Also was haben wir da. Zum einen sind die Variablen name, speicherplatz, hatCDLaufwerk nun private, wenn ich nun versuchen würde wie eben mit INSTANZNAME.name, INSTANZNAME.speicherplatz oder INSTANZNAME.hatCDLAufwerk darauf zuzugreifen, würde mir der Compiler das Programm um die Ohren hauen :). Wie mach ich das stattdessen? Wir greifen nun nur durch die definierten Methoden darauf zu. Nur eben als Bemerkung:

Methoden werden in der Regel aufgeschrieben mit einem public/private, gefolgt von dem Rückgabewert (string, double, boolen). Dann folgt der Methodennamen zusammen mit zwei Klammern die die Argumente enthalten die der Methode übergeben werden (bei den drei Methoden sind diese leer, also (), gefolgt von dem was die Methode tut in zwei geschweiften Klammern.
Diese Methoden geben etwas zurück, also steht dort jeweils "return" WERT.

Im Programm würde ich das nun so verwenden:

...
printf( meinTollerComputer.get_name() );
printf( meinTollerComputer.get_speicherplatz() );
printf( meinTollerComputer.get_hatCDLaufwerk() );
...

Ok, auslesen kann ich nun einige Werte, aber verändern?
Wie gesagt können wir nicht mehr direkt auf die Werte zugreifen und wenn wir uns den Code ansehen, sehen wir, dass es nur noch eine Methode gibt, die das erlaubt: set_name. Diese Methode erlaubt es uns den Namen des Computers zu ändern. Werte wie Speicherplatz usw. können nicht geändert werden, diese sind nach Erzeugung des Computer fest.

Ok, schauen wir uns die Methode mal näher an. Wie gehabt haben wir hier das Schlüsselwort public (wir kommen also von aussen ran). Dann steht dort void. Void bedeutet, dass diese Methode keinen Rückgabewert hat, was auch logisch ist, da wir ja einer Variable der Instanz einen anderen Wert zuweisen möchten. Evtl. kann es bei solchen SET-Methoden Sinn machen einen Boolschen Wert (Wahr/Falsch) zurückzugeben, so, dass man weis ob alles glatt gegangen ist. :). Ok, die Argumente der Funktion, deren SIGNATUR, besteht aus einem String (logisch, wir wollen den Computer ja umbenennen). Der eigentliche RUMPF (das zwischen dern {} ). sagt nun aus, dass man dem Wert "name" den String mit Namen "name" zuweist. Auffällig ist hier das Schlüsselwort "this". Mit "this" sagt man dem Programm, dass man was immer man tut auf der aktuellen Instanz tut, bzw. auf den Wert der aktuellen Instanz zurückgreift - this.name bedeutet also, dass es um das Feld "name" der Instanz von Computer geht auf der man diese Methode aufruft. Beispiel:

...
printf( meinTollerComputer.get_name() );
meinTollerComputer.set_name("Server");
printf( meinTollerComputer.get_name() );
...

Wüde ergeben:

Router
Server

Ok soviel zuerst einmal. Eine Kurze Zusammenfassung:

Klassen sind Schablonen für bestimmte Konzepte. Sie definieren sich über Eigenschaften und Verhalten (Methoden). Eine Instanz einer Klasse ist eine konkrete Ausprägung einer Klasse.

Das Prinzip des Information Hiding / Kapselung besagt, dass auf den internen Zustand des Objekts nur über vorher definierte Methoden zugegriffen werden kann. Dies hat den Vorteil, dass es einem egal sein kann, wie das Objekt intern seine Daten repräsentiert, sondern einen nur interessiert wie die Schnittstelen (Methoden) nach Aussen realisiert sind.

Ich hoffe, das war einigermaßen verständlich und hat ein bischen geholfen. Falls noch Fragen sind nur her damit :).

Seas,
Caldrin
 
Hi, ich habe jetzt mal ein Programm geschrieben, ich bekomme aber einen Fehler, warum?
Danke für eure Hilfe.




//fahrenheit=>celsius
#include <iostream>
using namespace std;

class Temperatur
{
private:
double celsius;
double fahrenheit;
public:
void celsius_aendern(void);
void fahrenheit_aendern(void);
double celsius_ausgeben(void) {return celsius;};
double fahrenheit_ausgeben(void) {return fahrenheit;};
};
void Temperatur::celsius_aendern(void)
{
cout<<"Bitte geben sie den Celsiuswert ein:\n";
cin>>celsius;
fahrenheit=9.0/5.0*celsius+32.0;
};
void Temperatur::fahrenheit_aendern(void)
{
cout<<"Bitte geben sie den Fahrenheitwert eingeben:\n";
cin>>fahrenheit;
celsius=5.0/9.0*(fahrenheit-32.0);
};
int main()
{

int a;
Temperatur objekt1;
anfang:
cout<<"Wenn sie von Celsius in Fahrenheit umwandeln möchten, drücken sie die 1, von Fahrenheit nach Celsius die 2";
switch(a)
{
case 1:
goto celsius;
case 2:
goto fahrenheit;
default:
cout<<"Diesen Wert kenne ich nicht";
goto anfang;
};
celsius:
cout<<"Herzlich Willkommen beim Umrechnungsprogramm von Celsius nach Fahrenheit\n";
objekt1.celsius_aendern();
xxxxx cout<<"Fahrenheitwert ist"<<objekt1.fahrenheit_ausgeben;
goto anfang;
fahrenheit:
cout<<"Herzlich Willkommen beim Umrechnungsprogramm von Fahrenheit nach Celsius\n;
objekt1.fahrenheit_aendern();
cout<<"Sie haben als Fahrenheitwert "<<objekt1.fahrenheit_ausgeben<<" eingegeben\n";
cout<<"Der entsprechende Celsiuswert ist: "<<objekt1.celsius_ausgeben;
goto anfang;
return 0;
}


xxxxx Hier bekomme ich beim Compilieren folgenden Fehler ausgegeben.
no match for operator<<in std::operator..
 
Ok, habe die Fehler selber gefunden,trotzdem danke,. fals sich jemand die Mühe gemacht haben sollte.
 
hihi am 06.08.2004 13:44 schrieb:
Ok, habe die Fehler selber gefunden,trotzdem danke,. fals sich jemand die Mühe gemacht haben sollte.


Mensch!! Sieht ja aus wie assembler... ;)

Goto und solche spässe solltest du in hochsprachen nicht verwenden. Es gibt einige elegantere Optionen...
Du solltes schleifen und co verwenden!

Greez Friiitz
 
Das mit den Schleifen war mir da zu dumm. Ich wollte nur schnell was schreiben, und das mit dfen Schlefen hätte mir zu lange gedauert. Außerdem...was ist so schlimm an goto? Nur weik mache sagen, dass man es benutzen sollte, finde ich es jetzt nicht so schlimm. Solange sich der Code in Grenzen hält.
 
Hallo

ich habe klassen auch gerade im unterricht bekommen
habe auch verständnisschwirigkeiten mit dem klassen :confused:

das mit den "unter klassen" habe ich ja noch verstanden aber warum sollte man einige variablen nicht zugänglich machen

kann mir jemand eine c++ programm fertig zu verfügung stellen (was ich mit dem boländ editor öffnen und ausführen kann)

Ps: dir lange beschreibung hat gehofen gute arbeit Caldrin :top:
mfg flo
 
Zurück