Hogyan kell header file-okkal dolgozni? (C++)
Ha van egy classom, meg egy csomó tagfüggvényem, és ezeket headerekbe akarom rakni, akkor azt hogyan tehetem meg? A lényeg, hogy a mainben csak egyetlen include-dal többet szeretnék használni, a class meg elég bonyolult, hogy ne egy headerben legyen.
Hozzáteszem eléggé hiányos a tudásom e téren, szóval nem csoda ha esetleg hülyeségeket írok.
Mondjuk csinálsz egy .h vagy egy .hpp fájlt és belemásolod? Aztán ha használni akarod akkor:
#include "a_fajl_eleresi_utja.kiterjesztes"
De általában a header fájlokban csak a deklaráció van meg egyes osztályokhoz függvényekhez, a lényeg (a definíció) a .c vagy .cpp fájlokban van.
Pl.:
main.cpp
#include "test.h"
int main(void){
Test *t = new Test();
t->write("alma");
delete t;
return 0;
}
test.h:
class Test{
public:
void write(const char*);
};
test.cpp:
#include "test.h"
void Test::write(const char *str){
std::cout<<str;
}
És ezután a main.cpp-t és a test.cpp-t „összefordítják” a futtatható binárissá.
Igen, nem értettem mi köti össze a valami.cpp-t és valami.hpp-t, de most már látom, hogy a valami.cpp-be is kell include. Az meg van, hogy azért kell külön, hogy ne keljen lefordítani az egészet, hanem a .pp csak hozzácsapódjon a mainhez, úgy ahogy van.
Próbálok megküzdeni a problémával, ezek után szerintem menni fog. Köszönöm!
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!