Reklama
Pokazuje wyniki od 1 do 8 z 8

Temat: [C++ / programowanie obiektowe] #include class, naglowkow i bibliotek

  1. #1
    Avatar Shaolineq
    Data rejestracji
    2008
    Posty
    234
    Siła reputacji
    16

    Domyślny [C++ / programowanie obiektowe] #include class, naglowkow i bibliotek

    Siemka, chciałbym was spytać jak powinna wyglądać organizacja plików w projekcie, wiem żeby tworzyć dwa pliki do klasy, jeden class.cpp, drugi class.h, i w głównym pliku .cpp używam: #include "class.h", ale co jak będę miał 50 klas? stworzyć plik np. Header.h i tam 'includowac' wszystkie klasy?

    i druga rzecz, jak robić z bibliotekami których potrzebuje, powiedzmy- w różnych klasach mam cout'a, to w każdym pliku klasy mam dołączać iostreama?

  2. #2
    Avatar MasterMappi
    Data rejestracji
    2005
    Położenie
    Poznan
    Wiek
    34
    Posty
    1,480
    Siła reputacji
    19

    Domyślny

    z reguly (chyba ;p) jest tak, ze masz:
    plik main.cpp gdzie jest minimum kodu, glowna petla programu i to tyle. w nim masz #include header.h, gdzie dodajesz wszystkie potrzebne biblioteki
    nastepnie masz plik np. function.cpp gdzie masz jakies funkcje i do tego function.h gdzie masz deklaracje tych funkcji i ew jakies dodatkowe biblioteki. do tego pliku cpp dodajesz rowniez header.h ktory zawiera wszystkie glowne biblioteki

    ad 2 - analogicznie, masz glowny header.h gdzie masz #include <iostream> i ten header dodajesz do kazdego nowego pliku cpp, wiec w kazdym nowym pliku cpp mozesz z iostreama
    Ostatnio zmieniony przez MasterMappi : 22-10-2013, 21:10
    tylko bog moze nas sadzic / yolo / hwdp / acab

  3. Reklama
  4. #3
    Avatar Kusterek
    Data rejestracji
    2013
    Położenie
    Warszawa
    Wiek
    31
    Posty
    1,710
    Siła reputacji
    13

    Domyślny

    ja w C++ programowałem sobie tak, że w pliku .h implementowałem wszystkie klasy i ich pola i metody a w pliku .cpp były funkcje wraz z main'em :P Nie wiem jak to wygląda od strony "dobrego i czytelnego programowania" ale mi tak było wygodnie :)

  5. #4
    Avatar Absherr
    Data rejestracji
    2008
    Położenie
    Kraków
    Posty
    578
    Siła reputacji
    16

    Domyślny

    Cytuj MasterMappi napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    z reguly (chyba ;p) jest tak, ze masz:
    plik main.cpp gdzie jest minimum kodu, glowna petla programu i to tyle. w nim masz #include header.h, gdzie dodajesz wszystkie potrzebne biblioteki
    nastepnie masz plik np. function.cpp gdzie masz jakies funkcje i do tego function.h gdzie masz deklaracje tych funkcji i ew jakies dodatkowe biblioteki. do tego pliku cpp dodajesz rowniez header.h ktory zawiera wszystkie glowne biblioteki
    Moim zdaniem lepiej jest includować wszystkie potrzebne pliki bezpośrednio. Czyli jeżeli w mainie potrzebujesz iostream i string to robisz dwa includy. Dołączanie ich przez kolejny plik zaciemnia kod i może doprowadzić do trudno wykrywalnych błędów. Chociażby dlatego że za miesiąc stwierdzisz, że przecież w header.h nie jest potrzebna biblioteka exception.
    Ostatnio zmieniony przez Absherr : 22-10-2013, 22:01

  6. #5

    Data rejestracji
    2010
    Posty
    2,657
    Siła reputacji
    16

    Domyślny

    W nagłówkach wsadzasz deklaracje i implementacje prostych funkcji ( np getterów i setterów ), natomiast w cpp - implementacje. Simple as that.

  7. #6
    Avatar Shaolineq
    Data rejestracji
    2008
    Posty
    234
    Siła reputacji
    16

    Domyślny

    a jakbym robił tak jak napisał Absherr, że dołączałbym biblioteki do wszystkich plików w których ich używam, to kod tych bibliotek po kompilacji i linkowaniu nie będzie się powtarzał n razy?

    /down

    #ifndef

    #endif
    ?

    ale to gdzie to wrzucać do każdego pliku nagłówkowego i dodatkowo przy każdej dodawanej bibliotece?
    Ostatnio zmieniony przez Shaolineq : 23-10-2013, 11:45

  8. #7
    Avatar zakius
    Data rejestracji
    2008
    Położenie
    The Internets
    Wiek
    33
    Posty
    11,075
    Siła reputacji
    24

    Domyślny

    dlatego masz strażników xD
    Problem z komputerem? Instrukcja diagnostyczna
    Cytuj Vegeta napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Baby maja wymagania jak windows vista, takze nigdy nie wiesz.
    Cytuj Dzzej napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Moje posty to esencja głupoty.
    "Don't worry, I'm just a pervert"

  9. #8
    Avatar Gray
    Data rejestracji
    2007
    Położenie
    Gdańsk
    Posty
    2,847
    Siła reputacji
    18

    Domyślny

    Cytuj Shaolineq napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    a jakbym robił tak jak napisał Absherr, że dołączałbym biblioteki do wszystkich plików w których ich używam, to kod tych bibliotek po kompilacji i linkowaniu nie będzie się powtarzał n razy?

    /down

    #ifndef

    #endif
    ?

    ale to gdzie to wrzucać do każdego pliku nagłówkowego i dodatkowo przy każdej dodawanej bibliotece?
    Wystarczy w nagłówkowym cały kod wziąć w tego #ifa~. Albo jak używasz visual studio to #pragma once na początku pliku i też wystarczy.

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. Projekt - obiektowe c++
    Przez Pumpkin w dziale Programowanie
    Odpowiedzi: 27
    Ostatni post: 13-05-2014, 10:08
  2. [C++] Programowanie obiektowe - zadanie z dziedziczenia
    Przez Pumpkin w dziale Programowanie
    Odpowiedzi: 1
    Ostatni post: 01-04-2014, 09:25
  3. [PHP/JS/Teoria] Programowanie obiektowe
    Przez John Galt w dziale Programowanie
    Odpowiedzi: 50
    Ostatni post: 29-01-2014, 12:18
  4. Karta pamieci Micro SD 8GB class 10 czy 16GB class 4?
    Przez Criss26 w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 6
    Ostatni post: 04-02-2013, 17:18
  5. Programowanie strukturalne i obiektowe
    Przez Bo_Mi_Nick_Zajeli w dziale Szkoła i nauka
    Odpowiedzi: 0
    Ostatni post: 16-11-2011, 15:17

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •