Kezdőoldal » Számítástechnika » Programozás » Hogyan kell header file-okkal...

Hogyan kell header file-okkal dolgozni? (C++)

Figyelt kérdés

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.



2015. máj. 4. 23:41
 1/7 uno20001 ***** válasza:
100%

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á.

2015. máj. 5. 00:02
Hasznos számodra ez a válasz?
 2/7 uno20001 ***** válasza:
A test.cpp-ben kimaradt az #include<iostream>, de remélem a lényeg átment.
2015. máj. 5. 00:03
Hasznos számodra ez a válasz?
 3/7 A kérdező kommentje:

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!

2015. máj. 5. 17:43
 4/7 A kérdező kommentje:
És külön köszönet, hogy class-szal szemléltetted.
2015. máj. 5. 17:44
 5/7 A kérdező kommentje:
Nem működik, sem az enyém, sem ami itt van. A class deklarálásáért sír a compiler a mainben. Én rontottam el?
2015. máj. 5. 18:33
 6/7 uno20001 ***** válasza:
Hibaüzenet?
2015. máj. 16. 23:10
Hasznos számodra ez a válasz?
 7/7 A kérdező kommentje:
Csak most jut eszembe szólni, kiderült időközben, hogy a CodeBlocks-nak van ilyen bugja. Egy mérnökinformatikus ismerősöm mondta, hogy ugyanez előfordult egy csoporttársával, és a kódot egy az egyben Visual Studioba másolva tökéletesen működött.
2016. aug. 26. 17:34

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!