Hogyan #include-oljak a lehető legjobb módon?
Bázisosztály:
#ifndef BASE_H
#define BASE_H
class Base
{
};
#endif // BASE_H
Származtatott:
#ifndef DERIVED_H
#define DERIVED_H
#include "Base.h"
class Derived : public Derived
{
};
#endif // Derived_H
mainban ez úgy lenne jó, ha
#include "Derived.h"
Mert az beemeli a Base-t, de viszont több származtatott osztály esetén minden egyes származtatott osztályt includeolnom kéne, ami nekem nem tűnik elegánsnak, meg ha már bekérek valamit, akkor arról sokszor egyértelműbb "leírást" ad a bázisosztály neve, pl. ha azt írom, hogy:
#include "carcomponent.h"
Ahelyett, hogy:
#include "wheel.h" (ez csak egy példa)
Két dolog jutott eszembe.
1. Csinálni egy header filet csak abból a célból, hogy mindent beemeljen, vagyis minden include abban szerepelne, és a végén (újrahasznosítás szempontjából) csak ezt az egy headert kéne beemelni.
#ifndef _BASE_H
#define _BASE_H
#include "Base.h"
#include "derived1.h"
#include "derived2.h"
...
#endif // _BASE_H
2. A bázisosztály legvégére beemelem az összes származtatott osztályt:
#ifndef BASE_H
#define BASE_H
class Base
{
};
#include "derived1.h"
#include "derived2.h"
...
#endif // BASE_H
Vagy pedig én vagyok a hülye, és van ennek egyszerűbb megoldása is. Szóval, ti hogy csináljátok?
Ezzel van a gond:
"viszont több származtatott osztály esetén minden egyes származtatott osztályt includeolnom kéne"
Mert pontosan így szokták, a származtatott osztályokat include-olják be.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!