2017-03-17 1 views
1

S'il vous plaît voir l'exemple:C++ Ai-je besoin de définir des protections d'en-tête pour les classes imbriquées?

#ifndef OUTER_H 
#define OUTER_H 

class Outer 
{ 
    class Inner 
    { 
    public: 
     Innner(); 
    }; 

}; 

#endif 

Ma question est: Ai-je besoin de créer un garde d'en-tête quelque part pour ma classe intérieure, ou tout simplement un pour le fichier entier?

+1

Les gardes d'en-tête sont pour le fichier d'en-tête entier, pas pour les classes individuelles. – Galik

+0

Oh je vois, merci =) – Anderson

Répondre

3

En tant que votre garde principale d'en-tête contient tout, et je suppose que c'est un fichier .h, ce qui signifie qu'il ne contient que des déclarations (ou au moins il se doit), tout ce qui est dans la garde est gardée . Bref, non, vous n'avez pas besoin d'un garde supplémentaire.