Constructeurs d'objets
Définition :
Les constructeurs permettent de garantir une initialisation correcte des instances d'une classe.
Un constructeur est une fonction membre qui porte le nom de la classe à laquelle elle appartient
Le constructeur ne renvoie pas de résultat et est appelé automatiquement à chaque création d'objet.
Le constructeur peut accepter des arguments.
Types de constructeurs
Il existe 2 types de constructeurs :
Par défaut
Par paramètres
Constructeur par défaut
Définition :
Le constructeur par défaut est un constructeur sans paramètre
Exemple :
Dans l'exemple suivant, la fonction Led()
est un constructeur sans paramètre :
class Led{
private:
int pinLed;
public:
Led ();
void swon();
void swoff();
};
Led::Led(){
pinLed = PORTLED;
pinMode(pinLed, OUTPUT);
}
Dans le programme principal, on pourra donc trouver une instruction comme celle-ci :
...
Led led; //Objet LED
...
Constructeur par paramètres
Définition :
Ce constructeur permet d'initialiser l'objet selon des valeurs précises passées en argument de la fonction.
Exemple :
Dans l'exemple suivant, le constructeur avec paramètre permet d'initialiser le numéro de port :
class Led{
private:
int pinLed;
public:
Led (int);
void swon();
void swoff();
};
Led::Led(int port){
pinLed = port;
pinMode(pinLed, OUTPUT);
}
Dans le programme principal, on pourra donc trouver une instruction comme celle-ci :
...
Led led(3);
...
Remarque : Nombre de constructeurs
Il est possible d'avoir plusieurs constructeurs, à condition que le nombre de paramètres soit différent :
class Led{
private:
int pinLed;
public:
Led (int);//Constructeur avec 1 paramètre
Led(); //Constructeur sans paramètre
void swon();
void swoff();
};
Led::Led(int port){
pinLed = port;
pinMode(pinLed, OUTPUT);
}
Led::Led(){
pinLed = PORTLED;
pinMode(pinLed, OUTPUT);
}