Constructor parametrizat în C++: lucru și exemple

Publicat: 2021-05-27

Cuprins

Ce este Constructor?

Un constructor este o funcție membru a unei clase care este utilizată pentru a inițializa obiecte dintr-o clasă. În C++ , când este creat un obiect care este instanța clasei, constructorul este apelat automat. Astfel, un constructor este o funcție membru specială a clasei.

Ce este un constructor parametrizat?

Argumentele pot fi transmise constructorilor. Când un obiect este creat, aceste argumente ajută la inițializarea unui obiect. Pentru a crea un constructor parametrizat în C++ , putem adăuga parametri la o funcție, așa cum poate fi adăugat la orice altă funcție. Când corpul constructorului este definit, parametrii sunt utilizați pentru a inițializa obiectul.

Sintaxa constructorului parametrizat în C++

numele clasei_clasei{

Specificator de acces (Public/protejat/privat):

Variabilele membre

Funcții ale membrilor

public:

nume_clasei(variabile){ //Cod pentru constructor

}

// alte funcții și variabile

}

Sintaxa a inclus numele_clasei, urmat de un specificator de acces care conține funcții membre și variabile membre. Toate acestea sunt incluse în codul constructorului, ceea ce înseamnă că poate fi apelat în corpul constructorului.

Citește și: Proiecte Open Source pentru C++

Exemplu de constructor parametrizat în C++

#include <iostream>

folosind namespace std;

Exemplu de clasă

{

privat:

int a, b;

public:

// Constructor parametrizat

Exemplu (int a1, int b1)

{

a = a1;

b = b1;

}

int getA()

{

returnează a;

}

int getB()

{

întoarcere b;

}

};

int main()

{

// Apelarea constructorului

Exemplul e1(5, 10);

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

returnează 0;

}

Ieșire

Explicație: Variabilele private a și b sunt declarate în clasa Exemplu. Un constructor parametrizat este declarat folosind funcția Exemplu. Include două metode getA() și getB(). În clasa principală, constructorul este apelat și valorile de acces ale constructorului sunt atribuite.

Cum funcționează constructorul parametrizat în C++?

Este inițiat un obiect, care deține valori sau detaliile și parametrii pe care obiectul îi va procesa sau îi va conține ori de câte ori este definit un constructor parametrizat în C++ . Apoi devine posibil ca argumentele să fie transmise acelui obiect. Procedura este foarte asemănătoare cu transmiterea unei valori unei funcții. De asemenea, are o asemănare cu transmiterea valorilor parametrizate la obiecte.

Obiectele care sunt definite în corpul constructorului sunt inițializate folosind parametrii. Valorile ar trebui să fie transmise ca argumente funcției de constructor ori de câte ori este declarat un constructor parametrizat. Acești constructori pot fi numiți atât explicit, cât și implicit. Modul convențional de declarare a obiectului nu funcționează.

Notă: Tipuri de apel-

  1. Apel explicit - Exemplu e1= Exemplu (0,10)
  2. Apel implicit - Exemplu e1(0,10)

Checkout: Idei de proiecte în C++ pentru începători

Care este utilizarea constructorului parametrizat în C++?

Utilizările constructorilor parametrizați sunt după cum urmează:

  • Supraîncărcarea constructorului
  • Folosit pentru a atribui valori diferite diferitelor elemente de date ale diferitelor obiecte atunci când sunt inițializate/create

Alt exemplu:

1. Program pentru a calcula aria unui dreptunghi

#include <iostream>

folosind namespace std;

// declararea unei clase

dreptunghi de clasă {

privat:

lungime dubla;

lățime dublă;

public:

// creează un constructor parametrizat

dreptunghi (lent dublu, brt dublu) {

// inițializați variabilele private

lungime = len;

lățime = brt;

}

double calculateArea() {

întoarcere lungime * lățime;

}

};

int main() {

// crearea obiectelor și inițializarea membrilor datelor

dreptunghi rect1(10, 8,6);

dreptunghi rect2(8,5, 6);

cout << „Aria dreptunghiului 1: ” << rect1.calculateArea() << endl;

cout << „Aria dreptunghiului 2: ” << rect2.calculateArea() << endl;

returnează 0;

}

Ieșire

Explicație: În acest exemplu, am creat un constructor parametrizat rectangle() cu doi parametri: double len și double bdt. Acești parametri conțin valori care sunt utilizate pentru a inițializa variabilele membru lungime și lățime. Când creăm un obiect din clasa Rectangle, trecem ca argumente valorile variabilelor membre. Putem calcula aria cu funcția calculateArea() atunci când variabilele membre sunt inițializate.

1. Afișarea notelor elevilor

#include <iostream>

folosind namespace std;

clasa elev {

public:

int std_id;//membru de date

șir std_name;//de asemenea, variabilă de instanță

float std_marks;

Student(int i, șir a, float b)

{

std_id = i;

nume_std = a;

std_marks = b;

}

void display()

{

cout<<std_id<<” „<<std_name:<<” „<<std_marks <<endl;

}

};

int main(void) {

Student s1 =Student(101, „Soniya”, 89); //crearea unui obiect de elev

Student s2=Student(102, „Nakul”, 59);

s1.display();

s2.display(); returnează 0;

}

Ieșire

Explicație: id, numele și marcajele sunt membri de date (de asemenea, variabile de instanță). Un elev este un constructor parametrizat, iar obiectele sale sunt create în clasa principală.

Învață Cursuri de dezvoltare software online de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Concluzie

Constructorii sunt doar tipuri speciale de metode prin care putem transmite valori. Dacă nu transmitem valori constructorului, atunci obiectul final are o valoare implicită. [1] [MOU2] Obiectele dețin metodele și valorile variabilelor membre care fac parte din clasa principală. Aceste valori sunt în cele din urmă trecute prin constructori. Un constructor parametrizat în C++ are avantajul său de a atribui diferitelor obiecte valori diferite și poate exista supraîncărcare.

Acum că sunteți la curent cu constructorii parametrizați în C++, dacă doriți să aprofundați și să vă avansați în cariera de programator, atunci explorați cursurile de la upGrad, cea mai mare companie de învățământ superior online din India. Trebuie să verificați Programul nostru de dezvoltare software Full-Stack .

Ce este un constructor?

Constructorul este o metodă specială într-o clasă care are același nume cu clasa. Este special pentru că această metodă este apelată automat atunci când o clasă este creată (instanțiată). Dacă un constructor nu are argumente, atunci clasa este instanțiată cu valori goale. Constructor efectuează sarcini de inițializare și inițializează variabilele de instanță ale clasei. Scopul principal al constructorului este de a stabili valorile proprietăților obiectului. De asemenea, este folosit pentru a efectua orice operație care trebuie executată o singură dată. Constructorul este de obicei declarat ca static public în clasă, iar obiectul este creat folosind acest constructor.

Câți constructori pot fi într-o clasă?

Dacă vorbim de C++, atunci numărul de constructori este nelimitat. Cu toate acestea, pot exista și alte limite din alte motive, cum ar fi limitarea memoriei mașinii dvs., complexitatea clasei etc. Prin urmare, numărul de constructori este nelimitat, dar numărul de parametri de constructor nu este. Într-o clasă pot exista oricât de mulți constructori doriți. Dar constructorul implicit este o necesitate. Orice clasă care nu are un constructor implicit este o clasă abstractă. Clasa abstractă nu poate fi instanțiată.

Ce este programarea orientată pe obiecte?

Programarea orientată pe obiecte este o paradigmă de programare care tratează „obiectele” ca elemente fundamentale ale unui program sau al unui sistem informatic. Obiectele sunt entități software care pot conține date, sub formă de câmpuri, cunoscute adesea sub denumirea de atribute; și cod, sub formă de proceduri, adesea cunoscute sub denumirea de metode. Programarea orientată pe obiecte se concentrează pe date și pe regulile care le înconjoară, mai degrabă decât pe logica procedurală sau pe fluxul de control, așa cum era obișnuit în limbajele de programare timpurii. OOP se ocupă cu datele ca un întreg, mai degrabă decât ca un set de elemente individuale.