Penso che la soluzione più sensata sia quella di creare un header e un .cpp.

Nello header metterai qualcosa tipo:
codice:
class Figlia1;  

class Madre {
public:
    Figlia1 operator[] ( int );
};

class Figlia1 : public Madre {
    
};

//altro

Nel .cpp implementerai l'operatore [] e tutti gli altri metodi.