Podział klasy na pliki źródłowe
Ostatnio zmodyfikowano 2011-07-18 11:28
imralav Temat założony przez niniejszego użytkownika |
Podział klasy na pliki źródłowe » 2011-07-18 11:11:06 Witam! Przejdę od razu do kodu, co by nie przedłużać: Plik "main.cpp" #include "funkcje.hpp"
using namespace std;
int main() { cout << "Hello world!\n"; ksiazka przygodowa; return 0; }
Plik "funkcje.hpp" #ifndef funkcje_hpp #include <iostream> #define funkcje_hpp class ksiazka; #endif
Plik "funkcje.cpp" #include "funkcje.hpp"
class ksiazka { private: int ile_kartek; };
I na końcu błąd, który wyświetla mi kompilator: D:\Tom\C++\klasy_w_naglowkowym\main.cpp||In function 'int main()':| D:\Tom\C++\klasy_w_naglowkowym\main.cpp|8|error: aggregate 'ksiazka przygodowa' has incomplete type and cannot be defined| D:\Tom\C++\klasy_w_naglowkowym\main.cpp|8|warning: unused variable 'przygodowa'| ||=== Build finished: 1 errors, 1 warnings ===|
|
I teraz: w czym jest problem? Czy taki właśnie zabieg wciskania klas w pliki źródłowe/nagłówkowe jest w ogóle możliwe? Pozdrawiam, imralav. |
|
m4tx |
» 2011-07-18 11:17:31 Pierwsze co pomyślałem, jak zobaczyłem ten kod, to było: "WTF?!"
Przecież plik .hpp masz od tego, by napisać definicję klasy, a .cpp - żeby napisać definicje metod do niej... Proste...
A tego #include w "funkcje.hpp" zamień miejscem z #define funkcje_hpp. |
|
imralav Temat założony przez niniejszego użytkownika |
» 2011-07-18 11:28:07 Jasne, już wszystko rozumiem, dzięki. Zamykam. |
|
« 1 » |