• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pierwsze kroki z wieloma plikami cz.2

Object Storage Arubacloud
+1 głos
176 wizyt
pytanie zadane 31 sierpnia 2015 w C i C++ przez niezalogowany
Witam, mam 2 pytania jeśli chodzi o pliki. Bo jest tak, że mam już pewny program podzielony na pliki i wszystko (oby) dobrze zadeklarowałem i jest tak, iż funkcje nie widzą mi zmiennych. Czy tak powinno być?? Bo wydaje mi się, że nie więc popełniłem gdzieś błąd. Kodu nie będę dawać bo myślę, iż nie potrzeba.

1 odpowiedź

0 głosów
odpowiedź 31 sierpnia 2015 przez Ehlert Ekspert (212,790 p.)
wybrane 31 sierpnia 2015
 
Najlepsza

Upewnij się czy zmienne są globalne. Poczytaj o zasięgu zmiennych. Jeśli piszesz program(prosty) i chcesz dzielić na pliki to tworzysz:

  1. main.cpp - wiadomo
  2. funkcje.cpp - nazwa przypadkowa, tu piszesz ciała funkcji
  3. funkcje.h - plik nagłówkowy, tu definiujesz funkcje

Jeśli piszesz pod windowsa korzystaj z #pragma once, jak nie to korzystaj z "wierszyka":

#ifndef H_PLIK
#define H_PLIK

///
///zawartość z dokumentacją
///

#endif//H_PLIK

 

komentarz 31 sierpnia 2015 przez niezalogowany
zmienne na pewno są globalne. #pragma once?? Nie znam tego, a przynajmniej nie ma tego w książce którą kupiłem, bo to z niej się uczę.
komentarz 31 sierpnia 2015 przez Ehlert Ekspert (212,790 p.)
wklej kod. Bo tak to za dużo Ci nie powiem. Tylko błagam, wklej go dobrze xD
komentarz 31 sierpnia 2015 przez niezalogowany
Dam fragmenty ;-;

http://wklej.org/id/1787651/

http://wklej.org/id/1787652/

http://wklej.org/id/1787653/

mam nadzieję że tyle kodu wystarczy bo reszta jest nie ważna.
komentarz 31 sierpnia 2015 przez Ehlert Ekspert (212,790 p.)
przekaż do zmiennej tartak tą tablicę jako argument. Pamiętaj o rozmiarze. Wygląda trochę na grę konsolówkę. Polecam złapać się za obiektówkę, bo bez niej... utoniesz a szczególnie w tematyce gier.
komentarz 31 sierpnia 2015 przez niezalogowany
Wiem że powinienem robić ją jako obiektówkę. To tylko jedna funkcja z... Wielu. Powinienem tak teraz do każdej funkcji przesłać argumenty??
komentarz 31 sierpnia 2015 przez Ehlert Ekspert (212,790 p.)
Jeśli chcesz tak pisać to tak... Pamietaj że do funkcji wchodzi wskaźnik na tablicę więc spokojnie wyjdziesz sobie poza jej rozmiar bez błędu i wyciek w pamięci gotowy.

Jeśli razi Cię obiektowe to na początku spróbuj chociaż struktur. Są prostsze a wiele zyskasz.
komentarz 31 sierpnia 2015 przez niezalogowany
Struktury powiadasz... Dobrze. Poczytam o nich i się zastanowię. Jest jeszcze jedna sprawa z tym związana, gdy chcę wrócić do poprzedniej funkcji którą wywołuję w funkcja.cpp (roboczą ją tak nazwijmy) to muszę ją też zadeklarować w funkcja.h??
komentarz 31 sierpnia 2015 przez Ehlert Ekspert (212,790 p.)

gdy chcę wrócić do poprzedniej funkcji którą wywołuję w funkcja.cpp

 W Funkcja.cpp nic nie wywołujesz tylko deklarujesz ciała poszczególnych funkcji. No chyba że jedna funkcja wywołuje drugą. Ogarnij TU pierwszy przykład. Kolejny de facto jest ze strukturami smiley

komentarz 31 sierpnia 2015 przez niezalogowany
Czyli w funkcja.h mam wypisać wszystkie funkcje jakich będę używać w funkcja.cpp. Tak??
komentarz 31 sierpnia 2015 przez Ehlert Ekspert (212,790 p.)
Definiować. Używasz w main'ie
komentarz 31 sierpnia 2015 przez niezalogowany
to ja się już pogubiłem z tymi plikami
komentarz 31 sierpnia 2015 przez Ehlert Ekspert (212,790 p.)
//plik foo.h
#ifndef H_FOO
#define H_FOO

//definiujesz funkcję
int dodawanie(int arg, int arg2);

#endif//H_FOO

//koniec pliku foo.h

//plik foo.cpp

#include "foo.h"

//tu definiujesz ciała funkcji
//co się w nich dzieje itp
int dodawanie(int arg, int arg2)
{
     return arg+arg2;
}
//koniec pliku foo.cpp


//main.cpp

#include "foo.h"

int main()
{
//w tym pliku używasz funkcji
int x = dodawanie(5, -100);

return 0;
}

 

komentarz 31 sierpnia 2015 przez niezalogowany
aaa... Teraz rozumie. Dziękuję za wszelką pomoc :)

Podobne pytania

0 głosów
4 odpowiedzi 227 wizyt
pytanie zadane 30 sierpnia 2015 w C i C++ przez niezalogowany
0 głosów
1 odpowiedź 299 wizyt
pytanie zadane 26 marca 2020 w C i C++ przez Hubertius Bywalec (2,970 p.)
+1 głos
2 odpowiedzi 239 wizyt
pytanie zadane 27 stycznia 2016 w C i C++ przez Kimi Bywalec (2,050 p.)

92,620 zapytań

141,474 odpowiedzi

319,813 komentarzy

62,003 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...