Zawieranie plików nagłówkowych

Zawieranie plików nagłówkowych
Błędzący
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska
  • Postów: 4
0

Witam,
mam następującą sytuację: stworzyłem klasę z zestawami funkcji nazwijmy je w skrócie funkcjami. Stworzyłem kilka klas, które wykorzystują je. Następnie stworzyłem klasę główną, która zawiera klasy wcześniej stworzone. Czyli:
funkcje --> klasa A -->klasa główna
funkcje --> klasa B -->klasa główna
funkcje --> klasa C -->klasa główna

Jak uniknąć nadmiarowego zawarcia nagłówka funkcji, skoro zostanie on dostarczony z każdą klasą którą wykorzystuje klasa główna? Czy rozwiązaniem jest:

Kopiuj
#ifndef FUNKCJE_H
#define FUNKCJE_H

//deklaracja klasy funkcji
#endif

??

Ola Nordmann
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 414
0

To co podałeś powinieneś zawierać w każdym pliku nagłówkowym.

EB
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 18
1

Tak, to nazywa się "header guard" sprawdza czy został już zadeklarowany taki nagłówek aby uniknąć problemu wielokrotnej deklaracji.

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
1
Ola Nordmann napisał(a):

To co podałeś powinieneś zawierać w każdym pliku nagłówkowym.

Każdy plik nagłówkowy to powinien zawierać #pragma once, które powinno wreszcie trafić do standardu, a #ifndef/#define jako zuo powinno trafić do lamusa.

Błędzący
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska
  • Postów: 4
0

Wielkie dzięki za wyjaśnienie :) W takim wypadku użyję

Kopiuj
#pragma once

:D

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.