Constructeur paramétré en C++ : fonctionnement et exemples

Publié: 2021-05-27

Table des matières

C'est quoi Constructeur ?

Un constructeur est une fonction membre d'une classe qui est utilisée pour initialiser des objets dans une classe. En C++ , lorsqu'un objet qui est l'instance de la classe est créé, le constructeur est appelé automatiquement. Ainsi, un constructeur est une fonction membre spéciale de la classe.

Qu'est-ce qu'un constructeur paramétré ?

Les arguments peuvent être passés aux constructeurs. Lorsqu'un objet est créé, ces arguments aident à initialiser un objet. Pour créer un constructeur paramétré en C++ , nous pouvons ajouter des paramètres à une fonction comme il peut être ajouté à n'importe quelle autre fonction. Lorsque le corps du constructeur est défini, les paramètres sont utilisés pour initialiser l'objet.

Syntaxe du constructeur paramétré en C++

nom de classe_de_classe{

Spécificateur d'accès (public/protégé/privé) :

Variables membres

Fonctions des membres

Publique:

name_of_class(variables){ //Code pour le constructeur

}

// autres fonctions et variables

}

La syntaxe incluait le nom de la classe, suivi d'un spécificateur d'accès contenant les fonctions membres et les variables membres. Tous ces éléments sont inclus dans le code du constructeur, ce qui signifie qu'il peut être appelé dans le corps du constructeur.

A lire aussi : Projets Open Source pour C++

Exemple de constructeur paramétré en C++

#include <iostream>

en utilisant l'espace de noms std ;

classe Exemple

{

privé:

entier a, b ;

Publique:

// Constructeur paramétré

Exemple(int a1, entier b1)

{

a = a1;

b = b1 ;

}

int getA()

{

retourner un ;

}

int getB()

{

retour b;

}

} ;

int main()

{

// Appel du constructeur

Exemple e1(5, 10);

cout << “e1.a = ” << e1.getA() << “, e1.b = ” << e1.getB();

renvoie 0 ;

}

Sortir

Explication : Les variables privées a et b sont déclarées dans la classe Example. Un constructeur paramétré est déclaré à l'aide de la fonction Example. Il comprend deux méthodes getA() et getB(). Dans la classe principale, le constructeur est appelé et les valeurs d'accès du constructeur sont affectées.

Comment fonctionne le constructeur paramétré en C++ ?

Un objet est initié, qui contient des valeurs ou les détails et paramètres que l'objet traitera ou contiendra chaque fois qu'un constructeur paramétré en C++ est défini. Il devient alors possible de passer des arguments à cet objet. La procédure est très similaire à la transmission d'une valeur à une fonction. Il présente également une similitude avec la transmission de valeurs paramétrées aux objets.

Les objets définis dans le corps du constructeur sont initialisés à l'aide des paramètres. Les valeurs doivent être transmises en tant qu'arguments à la fonction constructeur chaque fois qu'un constructeur paramétré est déclaré. Ces constructeurs peuvent être appelés explicitement ou implicitement. La méthode conventionnelle de déclaration d'objet ne fonctionne pas.

Remarque : Types d'appel-

  1. Appel explicite - Exemple e1= Exemple(0,10)
  2. Appel implicite - Exemple e1(0,10)

Checkout : Idées de projets en C++ pour les débutants

Quelle est l'utilisation du constructeur paramétré en C++ ?

Les utilisations des constructeurs paramétrés sont les suivantes :

  • Surcharge du constructeur
  • Utilisé pour attribuer différentes valeurs aux différents éléments de données des différents objets lors de leur initialisation/création

Un autre exemple:

1. Programme pour calculer l'aire d'un rectangle

#include <iostream>

en utilisant l'espace de noms std ;

// déclaration d'une classe

rectangle de classe {

privé:

double longueur;

double largeur;

Publique:

// création d'un constructeur paramétré

rectangle(double longueur, double brt) {

// initialise les variables privées

longueur = longueur ;

largeur = brt ;

}

double calculZone() {

retour longueur * largeur ;

}

} ;

int main() {

// création d'objets et initialisation des membres de données

rectangle rect1(10, 8.6);

rectangle rect2(8.5, 6);

cout << "Aire du rectangle 1 : " << rect1.calculateArea() << endl;

cout << « Aire du rectangle 2 : » << rect2.calculateArea() << endl;

renvoie 0 ;

}

Sortir

Explication : Dans cet exemple, nous avons créé un constructeur paramétré rectangle() avec deux paramètres : double len et double bdt. Ces paramètres contiennent des valeurs utilisées pour initialiser la longueur et la largeur des variables membres. Lorsque nous créons un objet de la classe Rectangle, nous passons les valeurs des variables membres comme arguments. Nous pouvons calculer la surface avec la fonction calculateArea() lorsque les variables membres sont initialisées.

1. Affichage des notes des élèves

#include <iostream>

en utilisant l'espace de noms std ;

classe Étudiant {

Publique:

int std_id;//membre de données

chaîne std_name ; // également variable d'instance

flottant std_marks ;

Étudiant(entier i, chaîne a, flottant b)

{

id_std = je ;

nom_std = a ;

std_marks = b ;

}

annuler l'affichage()

{

cout<<std_id<<" "<<std_name :<<" "<<std_marks <<endl ;

}

} ;

int principal(vide) {

Étudiant s1 =Étudiant(101, "Soniya", 89); // création d'un objet d'étudiant

Étudiant s2=Étudiant(102, "Nakul", 59);

s1.display();

s2.display(); renvoie 0 ;

}

Sortir

Explication : id, name et marks sont des membres de données (également des variables d'instance). Un étudiant est un constructeur paramétré et ses objets sont créés dans la classe principale.

Apprenez des cours de développement de logiciels en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Conclusion

Les constructeurs ne sont que des types particuliers de méthodes dans lesquelles nous pouvons transmettre des valeurs. Si nous ne transmettons pas de valeurs au constructeur, l'objet final a une valeur par défaut. [1] [MOU2] Les objets contiennent les méthodes et les valeurs des variables membres qui font partie de la classe principale. Ces valeurs sont finalement passées via des constructeurs. Un constructeur paramétré en C++ a l'avantage d'attribuer différentes valeurs à différents objets, et il peut y avoir surcharge.

Maintenant que vous connaissez les constructeurs paramétrés en C++, si vous souhaitez approfondir et progresser dans votre carrière en programmation, explorez les cours de upGrad, la plus grande société d'enseignement supérieur en ligne d'Inde. Vous devez consulter notre programme de développement de logiciels Full-Stack .

Qu'est-ce qu'un constructeur ?

Le constructeur est une méthode spéciale dans une classe qui porte le même nom que la classe. Elle est particulière car cette méthode est appelée automatiquement lors de la création (instanciation) d'une classe. Si un constructeur n'a pas d'arguments, alors la classe est instanciée avec des valeurs vides. Le constructeur effectue des tâches d'initialisation et initialise les variables d'instance de la classe. Le but principal du constructeur est d'établir les valeurs des propriétés de l'objet. Il est également utilisé pour effectuer toute opération qui ne doit être exécutée qu'une seule fois. Le constructeur est généralement déclaré en tant que statique public dans la classe et l'objet est créé à l'aide de ce constructeur.

Combien de constructeurs peut-il y avoir dans une classe ?

Si nous parlons de C++, alors le nombre de constructeurs est illimité. Cependant, il peut y avoir d'autres limites pour d'autres raisons telles que la limitation de la mémoire de votre machine, la complexité de la classe, etc. Par conséquent, le nombre de constructeurs est illimité, mais le nombre de paramètres de constructeur ne l'est pas. Il peut y avoir autant de constructeurs dans une classe que vous le souhaitez. Mais le constructeur par défaut est un must. Toute classe qui n'a pas de constructeur par défaut est une classe abstraite. La classe abstraite ne peut pas être instanciée.

Qu'est-ce que la programmation orientée objet ?

La programmation orientée objet est un paradigme de programmation qui traite les « objets » comme les éléments de base d'un programme ou d'un système informatique. Les objets sont des entités logicielles qui peuvent contenir des données, sous forme de champs, souvent appelés attributs ; et code, sous forme de procédures, souvent appelées méthodes. La programmation orientée objet se concentre sur les données et les règles qui les entourent, plutôt que sur la logique procédurale ou le flux de contrôle, comme cela était courant dans les premiers langages de programmation. La POO traite les données dans leur ensemble plutôt que comme un ensemble d'éléments individuels.