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

1

02.09.2009, 19:33

header

also angenommen ich habe code in einer header geschrieben und ich möchte diesen code im verlauf des maincodes verwenden.

zb in der header is geschrieben cout<<4;
und das soll in der main aktiviert werden

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

2

02.09.2009, 19:42

Du könntest theoretisch in der main ein include machen, aber so wird das normalerweise nicht angewandt.
Üblicherweise befinden sich in einem Header die Deklarationen von Funktionen, Klassen Definitionen und die jeweiligen Implementierungen werden dann in einer .cpp gemacht.

Den Header kannst du dann includen und wenn du die generierte Objekt Datei mitlinkst, dann kannst du die Funktionen verwenden..

also z.B so:

main.cpp:

C-/C++-Quelltext

1
2
3
4
5
#include "foo.h"
int main
{
 foo ();
}


foo.h:

C-/C++-Quelltext

1
void foo ();


foo.cpp

C-/C++-Quelltext

1
2
3
4
5
6
7
#include "foo.h"
#include <iostream>

void foo ()
{
  std::cout << "hallo, welt";
}

3

02.09.2009, 19:42

dann musst du ne Funktion schreiben z.B.

C-/C++-Quelltext

1
2
3
4
5
6
void Funktion();

void Funktion()
{
std::cout << 4;
}

in der main:

C-/C++-Quelltext

1
2
3
4
5
6
7
#include "Was_auch_immer.h"
int main()
{
Funktion();

return 0;
}


EDIT: Fehler entfernt... ähem.
Metal ist keine Musik sondern eine Religion.

4

02.09.2009, 20:03

Autsch, Fabian...
fka tm

5

02.09.2009, 20:06

Wenn ich hier mal wie bei einer Klassenarbeit durchgehen darf^^

Zitat von »"Fabian Kock"«

dann musst du ne Funktion schreiben z.B.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
class CClass // nach Klassen war nicht gefragt

{
public:
void Funktion();
};

void Funktion()
{
cout << 4; // std oder using namespace std fehlt

}

in der main:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
// Includes fehlen

CClass * g_pClass // Semikolon fehlt / Multiplizieren? Aua^^

int main()
{
g_pClass->Funktion // Funktionsaufruf ?!


return 0;
}


mfg MM

6

02.09.2009, 20:10

Zitat von »"MMAnfänger"«

Wenn ich hier mal wie bei einer Klassenarbeit durchgehen darf^^

Zitat von »"Fabian Kock"«

dann musst du ne Funktion schreiben z.B.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
class CClass // nach Klassen war nicht gefragt

{
public:
void Funktion();
};

void Funktion()
{
cout << 4; // std oder using namespace std fehlt

}

in der main:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
// Includes fehlen

CClass * g_pClass // Semikolon fehlt / Multiplizieren? Aua^^

int main()
{
g_pClass->Funktion // Funktionsaufruf ?!


return 0;
}


mfg MM



kein wunder das so viele fehlermeldungen kommen^^

aber will ja eigentlich über 4000 zeilen aus der header "aktivieren"
das mit cout<<a; war ja nur ein beispiel

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

7

02.09.2009, 20:12

Schau noch mal mein Beispiel an. ;)

Wenn es denn sein muss, packst du halt alle 4000 Zeilen in eine Funktion und callst die dann, obwohl du dir schon vorher über eine gescheite aufteilung Gedanken machen hättest müssen. ;)

8

02.09.2009, 21:49

Ein gutes Buch über C++ Grundlagen sollte auch helfen. ;-)
Lieber dumm fragen, als dumm bleiben!

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

9

02.09.2009, 22:51

du kannst den header sonst auch einfach an den stellen an denen du ihn benutzen willst inkludieren:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main()
{

  ...

#include "something.h"

  ...

  if (abc > 23)
  {
#include "something_else.h"
  }

  ...

}


:shock:

Das is allerdings nicht wirklich wofür header gedacht sind wie drakon schon erklärt hat ;)

10

03.09.2009, 18:00

werden die includes nicht von dem Präprozessor bearbeitet.
Dadurch ist es doch blödsinn wenn man die in eine If Abfrage steckt oder??

Werbeanzeige