Pourquoi constante des données membres d'une classe a besoin d'être initialisé dans le constructeur?

Je veux savoir pourquoi constante des données membres d'une classe a besoin d'être initialisé dans le constructeur et pourquoi pas ailleurs? Quel est l'impact de le faire et ne pas faire?

Je vois aussi que seulement constante statique intégrante de données peut être initialisé à l'intérieur de la classe autre que ce que les membres de données peuvent être initialisées à l'intérieur de la classe.

pour exemple:- Supposons que ci-dessous est ma déclaration de classe

class A{
     int a; //This we can initialize at the constructor or we can set this member by calling "vSet" member function
     const int b;
     static const int c = 10; //This works fine
public:
     A();
     ~A();
     void vSet(int a);
     int iAdd();
     void vDisplay();    
};

Et le constructeur est défini comme indiqué ci-dessous:-

Édité l'Article: Comme les précédents constructeur définition exemple n'était pas bon

 A::A():a(1),b(9){}

S'il vous plaît corrigez-moi si je me trompe.
Merci à l'avance.

Merci beaucoup à tous de u pour vos précieux conseils.

OriginalL'auteur Abhineet | 2012-05-18