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

Rion

Frischling

  • »Rion« ist der Autor dieses Themas

Beiträge: 23

Wohnort: Trier

Beruf: Komponist, Medienassistent

  • Private Nachricht senden

1

29.10.2010, 15:44

Code in C++ inkludieren

Hallo,

ich habe bei meinem Textadventure nun schon 604 Zeilen C++-Code und ich bin noch bei der ersten Spielszene. Jetzt wollte ich die restlichen Szenen nicht auch noch in die main.cpp packen, sodass ich nachher Millionen Zeilen in einer Datei habe, sondern ich möchte gerne die Szenen einzeln als CPP-Dateien in die Main.cpp an einer bestimmten Stelle inkludieren. Da der Befehl #include allerdings nur am Anfang einer Datei aufgerufen werden kann, frage ich mich, ob es vielleicht einen anderen Befehl gibt, C++-Code aus einer anderen Datei an einer bestimmten Stelle zu inkludieren?

In PHP ist es eben möglich, den include-Befehl an eine beliebige Stelle zu setzen und dort PHP-Code aus anderen Dateien an bestimmten Stellen einzubinden. Wie geht sowas in C++? ?(

Grüße,
Rion

MCP

Alter Hase

Beiträge: 513

Wohnort: Paderborn

Beruf: Software-Entwickler

  • Private Nachricht senden

2

29.10.2010, 15:56

Wow... Der Beitrag hat mir fast die Sprache verschlagen...
Wie wäre es mit einer Struktur und Funktionen? Das soll vieles erleichtern.
Abgesehen davon kann man #include überall einfügen...
Ich würde mir dringend nochmal die Grundlagen von C++ anschauen!

Stazer

Alter Hase

Beiträge: 468

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

3

29.10.2010, 16:03

Aufjedenfall nocheinmal Grundlagen angucken.

MfG Stazer

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

4

29.10.2010, 18:34

Welch' freundliche Antworten ^^
Kapsel den Code in den anderen Dateien in Funktionen und rufe diese in deiner main Datei auf.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//a.hpp
#include <string>
void show_message(std::string msg);

// a.cpp
#include "a.hpp"
void show_message(std::string msg) {
    std::cout << msg << std::endl;
}

// main.cpp
#include "a.hpp"

int main() {
    //...

    show_message("Hllo, Wanderer!");

    // ...
}

Besser ginge das ganze mit Klassen, aber das wäre vielleicht für den Anfang noch zu hoch, so wie ich das sehe. Bei Fragen stell sie trotzdem, versuch aber vorher mit google und der Forensuche was zu finden. Aber scheue dich trotz der ein wenig rustikalen Antworten hier nicht davor, weitere zu stellen.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

5

29.10.2010, 19:07

Oder einfach ueber inline Files loesen.

C-/C++-Quelltext

1
2
3
4
5
6
int main(int argc, char ** argv)
{
  #include "part1.inl"

  #include "part2.inl"
}


Und in den inline Files schreibst du dann einfach den entsprechenden Code.

Oberon

Treue Seele

Beiträge: 181

Wohnort: Österreich

Beruf: Student

  • Private Nachricht senden

6

29.10.2010, 20:19

@k|haos: Das ist wäre aber eine (*Untertreibung*) unsaubere Lösung. Ermutige Rhion nicht auch noch zu sowas!

Für Textadventures gibt es aber auch Autorensysteme. Einfach mal googeln, oder bei Wikipedia eingeben.

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

7

29.10.2010, 20:51

Oder einfach ueber inline Files loesen.

C-/C++-Quelltext

1
2
3
4
5
6
int main(int argc, char ** argv)
{
  #include "part1.inl"

  #include "part2.inl"
}


Und in den inline Files schreibst du dann einfach den entsprechenden Code.

:huh: :huh: Böser k|haos
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

8

29.10.2010, 21:08

Jaja, das kommt davon, wenn man mit PHP anfängt ^^ Ging mir damals auch so, mit PHP gewöhnt man sich die schlimmsten dinge an...

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

9

29.10.2010, 22:09

Ich muss ehrlich sagen, ich hab das in PHP nie gemacht^^
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

10

29.10.2010, 22:28

War PHP deine erste programmiersprache? Und wie alt warst du da?

Ich hab mir das damals selbst beigebracht anhand von internet tutorials und naja, da lernt man leider nicht wirklich wie man _gut_ programmiert. ^^

Ich hab lange zeit nichtmal objektorientiert PHP programmiert, weil ich damals einfach nicht verstanden hab, wo da der vorteil ist... es ging ja auch alles ohne, mit viel copy und paste :D

Werbeanzeige