Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Satisfactia de a face ce iti place. tutorial, lectii online, solutii simple, exmeple, programe, C++

Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

C


Index » educatie » » informatica » C
Constructori


Constructori


Constructori

Obiectele au de obicei nevoie sa-si initializeze campurile sau sa aloce memorie dinamica in procesul crearii. Initializarea face obiectele operabile si reduce posibilitatea returnarii unor valori nedorite in timpul executiei. De exemplu, ce s-ar intampla in exemplul din laboratorul precedent daca am fi apelat functia arie() inainte sa fi apelat functia setValori()? Probabil am fi primit un rezultat nedeterminat deoarece nu a fost atribuita nici o valoare membrilor x si y.

Pentru a evita aceasta situatie, o clasa poate include o functie speciala numita constructor. Constructorul este apelat in mod automat cand un obiect nou de tip clasa este creat. Declaratia constructorului este de forma:

nume_clasa(lista parametri);

Declaratia se aseamana cu cea a unei metode, doar ca nu are tip returnat iar numele functiei este intotdeauna egal cu numele clasei.

Vom implementa clasa Dreptunghi din laboratorul precedent folosind un constructor:

// exemplu: clasa cu constructor

#include<iostream>

#include<conio.h>

using namespace std;



class Dreptunghi

};

//definire constructor

Dreptunghi::Dreptunghi(int paramLatime, int paramInaltime)

int main ()

arie dr: 12

arie dr2: 30

Cum puteti observa, rezultatul acestui exemplu este identic cu cel anterior. Dar de data aceasta am eliminat functia membru setValori(), si am inlocuit-o cu un constructor care efectueaza o actiune similara. Initializeaza valorile latime si inaltime cu parametrii pe care ii primeste.

Remarcati ca acesti parametri sunt transmisi catre constructor in momentul in care obiectele sunt create:

Dreptunghi dr(3,4);

Dreptunghi dr2(5,6);

Constructorii nu pot fi apelati explicit, asa cum sunt apelate functiile membre obisnuite. Ei sunt executati doar atunci cand un nou obiect al clasei respective este creat.







Politica de confidentialitate
C


Access
Adobe photoshop
Autocad
Baze de date
C
Calculatoare
Corel draw
Excel
Foxpro
Html
Internet
Java
Linux
Mathcad
Matlab
Outlook
Pascal
Php
Powerpoint
Retele calculatoare
Sql
Windows
Word

Clase. Incapsularea
Liste inlantuite in C++
Constructorul de copiere
DECLARATII SI CONSTANTE
Supraincarcarea operatorului de apel functie
Mostenirea
Membrii mosteniti din clasa de baza
Controale de tip lista
Supraincarcarea operatorului de asignare
FUNCTII PENTRU GESTIONAREA RESURSELOR GRAFICE ALE MEDIULUI C++ BUILDER















 
Copyright © 2019 - Toate drepturile rezervate