ďťż

Ładny brzuch

Nie znam sie za bardzo na fachowym programowaniu ale chcialbym zrobic osobny plik do implementacji funkcji ktore wczesniej zadeklarowalem.
Tzn w oknie glownym projektu .cpp robie deklaracje a pozniej implementacje chcialbym zrobic w innym pliku zeby nie robil mi sie balagan. Tylko nie wiem jak to zrobic w jakim pliku i jak to polaczyc.

Czy jest to w ogole mozliwe i jak to zrobic?

Za pomoc dziekuje mih00



Jeżeli deklaracje funkcji/klasy to zdecydowanie w pliku *.h, co do implementacji to wygląda to tak:
- tworzysz nowy plik (tym razem *.cpp);
- na początku include'ujesz plik nagłówkowy z deklaracjami;
- ...i ew. inne pliki nagłówkowe;
- a potem implementacja funkcji

Mogłoby to wyglądać tak:
CKlasa.h
class CKlasa {    private:        int  i;        bool b;    public:        CKlasa();        CKlasa(int, bool);        int setInt(int);        int getInt();        .        .        . };
CKlasa.cpp
CKlasa::Cklasa() {    i=0;b=false; } CKlasa::Cklasa(int i,bool b) {    this.i=i;this.b=b; } int CKlasa::setInt(int i) {    return (this.i=i); } int CKlasa::getInt() {    return i; }

I teraz kiedy tylko chcesz skorzystac ze swojej klasy to po pierwsze we własciwe miejsce include'ujesz nagłówek a do całego projektu (Project->Add...) dodajesz implementacje czyli plik *.cpp

KoDo
GG:3857769

Nie musi wcale brac Project->Add... wystarczy ze na poczatku pliku uzyje dyrektywy #include "costam.h".

>BaR_TeK<
Language: C++/DirectX/WinAPI
IDE: MS Visual C++

cytat:bart_89 napisał:

Nie musi wcale brac Project->Add... wystarczy ze na poczatku pliku uzyje dyrektywy #include "costam.h".

Dla ścisłości, kiedy tworzy nową klasę (lub ogólnie definicję+implementację) to klasa ta automatycznie zostaje dodana do biezącego projektu (jeśli taki w ogóle jest otwarty) wiec tu nie ma problemu i nie musi juz dodawac drugi raz tego samego.
W przypadku natomiast kiedy zajdzie potrzeba wykorzystania tej klasy w innym projekcie (a często tak sie zdarza bo przeciez w jakims celu te klasy tworzymy...zeby sobie ułatwić :cheesy: ) to bezwarunkowo musi dodac plik *.cpp do projektu (Project-->Add To Project...) bo inaczej zwróci błąd przy linkowaniu.
I tu juz nawet nie ma znaczenia jaki to kompilator, implementacja zawsze musi byc dostraczona.

KoDo
GG:3857769

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •