Kezdőoldal » Számítástechnika » Programozás » Hogyan includeoljak származtat...

Hogyan includeoljak származtatott osztályokat és bázisosztályt egyetlen include paranccsal?

Figyelt kérdés

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?



2017. ápr. 10. 05:02
 1/2 anonim ***** válasza:

"minden egyes származtatott osztályt includeolnom kéne"


Igen, pontosan így csináld.

Ha gondolod, összeírhatod egy headerbe, ami kell, de azt se javasolnám.

2017. ápr. 15. 12:34
Hasznos számodra ez a válasz?
 2/2 A kérdező kommentje:
Köszönöm a választ!
2017. ápr. 16. 11:19

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!