Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

DarkFitzi

Alter Hase

Beiträge: 608

Wohnort: Eisenberg, Thüringen

Beruf: Schüler, 10te Klasse

  • Private Nachricht senden

11

17.01.2006, 18:18

hmm
ich dachte wenn man z.B. sowas macht

C-/C++-Quelltext

1
2
3
4
void CEinheiten::Fight(CEinheiten Anderer)
{
    m_Energie -= Anderer.m_Angriff
}

wird der das ganze Zeug des Objekts auf den Stack kopiert

aber so

C-/C++-Quelltext

1
2
3
4
void CEinheiten::Fight(CEinheiten& Anderer)
{
    m_Energie -= Anderer.m_Angriff
}

wird intern die Adresse des Objekts übergeben, was auch zur Folge hat, dass alle Änderungen an der Ref etwas an den richtigen Objekt ändern.

Bei der ersten Methode könnte man an Anderer etwas ändern, doch an dem ursprünglich übergebenen Objekt wird nichts geändert, da bei Funktionsaufruf ein völlig neues Objekt angelegt wird.
Ich würde die Welt gern verbessern, doch Gott gibt mir den Sourcecode nicht! :-(

Chef-Koch

Treue Seele

  • »Chef-Koch« ist der Autor dieses Themas

Beiträge: 115

Wohnort: Ulm

  • Private Nachricht senden

12

17.01.2006, 18:40

kann mir einer bitte mit meinem Fehler helfen ??? :help:
ich habe so den Eindruck ,dass er allmälig in den Hintergrund trifftet
:o

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

13

17.01.2006, 19:21

@Chef-Koch da brauchst du den #ifndef #def #endif "Kram"

und zu den Klasse Fragen wir doch mal die Profis ;)

P.S: ich kann mich natürlich irren
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Anonymous

unregistriert

14

17.01.2006, 19:37

Da meldet sich mal der "Profi":

1. Referenzen sind benötigt, nicht weil es "schonender" ist (wäre mal ein geiles Argument), sondern weil es effektiver ist. Darf das übergebene Objekt nicht verändert werden, sollte man noch const dazu nehmen.

2. Jop da brauchste den #ifndef #def #endif "Kram"

3.

C-/C++-Quelltext

1
2
3
4
int CEinheit::getAngriff (void)
{
    return (m_Angriff);
}

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

15

17.01.2006, 19:48

4. habe ich mich wirklich geirrt ^_^ :angel:
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Chef-Koch

Treue Seele

  • »Chef-Koch« ist der Autor dieses Themas

Beiträge: 115

Wohnort: Ulm

  • Private Nachricht senden

16

17.01.2006, 22:01

#ifndef #def #endif Kram

weiß einer wie des heißen muss ??
oder kann jmd. ne kurze Erklärung oder link gebn , was man da eingeben soll ? :help: :ohoh:

Chef-Koch

Treue Seele

  • »Chef-Koch« ist der Autor dieses Themas

Beiträge: 115

Wohnort: Ulm

  • Private Nachricht senden

17

18.01.2006, 17:00

ok ich hab jetz schonmal bissl gesucht und auch was gefunden :

Zitat


Benutze Include-Guards! Die verhindern, dass eine Datei zweimal für dieselbe Objektdatei eingebunden wird und solche Fehler auftreten.

C-/C++-Quelltext

1
2
3
4
5
6
#ifndef CRAUMSCHIFF_H_INCLUDED
#define CRAUMSCHIFF_H_INCLUDED

// hier der Inhalt von CRaumschiff.hpp


#endif



aber wenn ich es in meine Header-datei reintu kommen immer noch diese Fehler :(

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

18

18.01.2006, 17:57

Immer noch der selbe Fehler? Sag mal welche cpp und h Dateien du in deinem Projekt hast.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Chef-Koch

Treue Seele

  • »Chef-Koch« ist der Autor dieses Themas

Beiträge: 115

Wohnort: Ulm

  • Private Nachricht senden

19

18.01.2006, 19:20

meine cpps: main.cpp
Funktionen.cpp

Headers : Einheite.hpp // jaja esheißt Einheite weil ichs E am schluss vergessen hab -.-'' :rolleyes:

DarkFitzi

Alter Hase

Beiträge: 608

Wohnort: Eisenberg, Thüringen

Beruf: Schüler, 10te Klasse

  • Private Nachricht senden

20

18.01.2006, 20:02

1. Warum macht dann net einfach wieder nen e dran? O_o
2. nimm mal ne .h Datei statt ne .hpp
Ich würde die Welt gern verbessern, doch Gott gibt mir den Sourcecode nicht! :-(

Werbeanzeige