Ősosztály implementációjának include-jai a leszármazottak implementációjaiban?
Tegyük fel van egy A.h és egy A.cpp-m
A.cpp-ben includeolom a valami.h-t.
Van B.h, B.cpp és C.h, C.ccp.
Ezek A leszármazottai. A valami.h B és C implementációjában is használva van.
Ha nem includeolom a valami.h-t B.cpp-ben és C.cpp-ben, akkor nem ismeri fel a valami-t.
Hogy lehet azt megoldani, hogy ne kelljen explicit includeolnom a valami.h-t az összes leszármazott implementációjában?
(Szóval "örökölje" az include-ot)
A szabályos eljárás ez:
A B.h és a C.h include-olja az A.h-t. A B.cpp include-olja a B.h-t, a C.cpp include-olja a C.h-t. Ekkor tranzitívan az A.h is include-olva lesz mindkettőbe.
Abba(n) a fájlba(n) includeolj headert, ami használja azt.
Ha "A"-ban használod, akkor ott. Ha "B"-ben használod, akkor ott is. Erre való az include guard vagy más #pragma once (preprocesszor direktíva).
További kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!