Tas jau iet roku rokā ar programmēšanas labo praksi - kā dali lietas moduļos. Man personīgi jebkurš fails, kurš garāks par 3-4 lappusēm, ir nepārskatāms. Tāda klase, kas izaugusi, ir jādala loģiski sīkāk.
Taču ne par to ir runa šeit - ja vēlies vienkārši klases metožu implementāciju no .cpp faila sadalīt citos, sīkākos failos, tad tev nekas netraucē izveidot kaut vai 100 .cpp failus, iekļaut tajos attiecīgo klases .h failu un izmētāt metožu implementācijas, kā vien vēlies. Atceries, ka kompilators neko nezina par .h failiem - tam eksistē tikai .cpp faili, un tas jau ir linkera normālais uzdevums, salikt visu kopā.
Respektīvi, ja klases deklarācija ir klase.h failā
:
class A {
void metode1();
void metode2();
};
Tad implementāciju mierīgi vari taisīt kaut divos failos, klase1.cpp:
:
#include "klase.h" // Lai kompilators zinātu klases "aprakstu"
void A::metode1() {
// blabla
}
Un klase2.cpp tieši tāpat:
:
#include "klase.h" // Lai kompilators zinātu klases "aprakstu"
void A::metode2() {
// blabla
}
Viss. Nav nekādu mistisku noteikumu par .cpp un .h failu nosaukumiem - sauc kā gribi, kaut ciparos. Tiem nav jāsakrīt. Arī viens .cpp no otra nav jāiekļauj - linkeris pats visu sapratīs. Galvenais, ka visi .cpp iekļauj vienu un to pašu klases "aprakstu" jeb deklarāciju.