Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Headerdateien - Tutorial?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
02.12.2006, 17:12 Uhr
~Securitas
Gast


moin

so ich weiss leider nur,dass man einen präprozessor setzen muss,damit das funktioniert,aber ich stelle mal ein paar fragen *g*

Erste:
Wofür sind Header da?

Zweite:
Wie schreibe ich am einfachsten nur zu Beginn eine Headerdatei?

Dritte:
Könntet ihr mir eventuell ein paar Links bitte schicken?


So, mehr fragen hab ich nciht mehr

dani
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.12.2006, 14:52 Uhr
mischa
Fragender


1.
wenn das programm groß ist ist es nützlich die funktionen in verschiedenen dateien zu schreiben ist auch übersichtlicher wenn man es richtig macht
2.

C++:
test.hpp
//...
void foo()
{
    std::cout<<"hallo"<<std::endl;
}

main.cpp
//...
int main()
{
    foo();
    return 0;
}


--
Latein Unterricht ist die spätere Rache der Römer an den Germanen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
03.12.2006, 15:03 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


[...] noch ein #include "test.hpp" am anfang der main.cpp
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
03.12.2006, 18:51 Uhr
~Securitas
Gast



Zitat von ~Securitas:
moin

so ich weiss leider nur,dass man einen präprozessor setzen muss,damit das funktioniert,aber ich stelle mal ein paar fragen *g*

Erste:
Wofür sind Header da?

Zweite:
Wie schreibe ich am einfachsten nur zu Beginn eine Headerdatei?

Dritte:
Könntet ihr mir eventuell ein paar Links bitte schicken?


So, mehr fragen hab ich nciht mehr

dani



danke,aber würde es auch gehen,indem ich es im header etwas intialisieren würde
bsp.:

int a = 12;
int b = 13;

.. ?
und dann halt was anderes damit anstellen .. würde es so gehen?Wenn ja,könntest du nur bitte ein kleines beispiel posten?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
03.12.2006, 19:52 Uhr
mischa
Fragender


ja
du kannst in ein header alles rein tun
funktionen classen variablen makros u.s.w.
--
Latein Unterricht ist die spätere Rache der Römer an den Germanen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
04.12.2006, 17:32 Uhr
~Securitas
Gast



Zitat von mischa:
ja
du kannst in ein header alles rein tun
funktionen classen variablen makros u.s.w.


main.cpp:

C++:
// .. Header.h ... ... ..
int main()
{
foo();
    int b = 12;
    b = a;
    cout<<a;
return 0;
}




head.h:

C++:
#ifndef HEADER_H
#define HEADER_H

void foo()
{
    int a = 12;
}

#endif




und nun?
irgendwie kommt folgender Fehler. .... ... ..

Zitat:

main.cpp:11: error: `a' undeclared (first use this function)
main.cpp:11: error: (Each undeclared identifier is reported only once for each


was habe ich falsch gemacht?


securitas
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
04.12.2006, 18:34 Uhr
Blubber2063



Ja das ist ja auch logisch, Variablen die du in einer Funktion deklarierst sind lokal, d.h. sie stehen dir nach dem Verlassen der Funktion nicht mehr zur Verfügung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
04.12.2006, 18:53 Uhr
Pler
Einer von Vielen
(Operator)


Ich glaub das Problem ist das Grundsätzlich Verständnis.
Schau dir mal an, was "Gültigkeitsbereich von Variablen" ist.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
05.12.2006, 11:38 Uhr
0xdeadbeef
Gott
(Operator)


Aaaalso: Header für Deklarationen, Source-Dateien für Definitionen. Das bedeutet:

C++:
// foo.h

// Include-Guards, damit auch ja nichts doppelt included wird
#ifndef INCLUDED_FOO_H
#define INCLUDED_FOO_H

// Richtig:

class Foo {
public:
  void bar(); // wird in foo.cpp definiert
private:
  int baz_;
};

void foo(); // foo wird dann in foo.cpp definiert

exern int meine_globale_variable; // wird dann in foo.cpp initialisiert

#define FOO BAR

// Falsch:

class Foo {
public:
  void bar() {
    baz_ = 3;
  }

private:
  int baz_;
};

void foo() {
    int x = 4;
}

int meine_globale_variable = 5;

#endif


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: