Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

C


Index » educatie » » informatica » C
» Functii prietene


Functii prietene


Functii prietene

In general membrii privati ai unei clase nu pot fi accesati din afara clasei in care au fost declarati. Aceasa regula are o exceptie. O clasa poate declara o lista de functii externe drept prietene ale clasei, folosind cuvantul cheie friend Aceste functii prietene vor avea acces la membrii privati ai clasei. Pentru a declara o functie prietena, vom folosi urmatoarea sintaxa in corpul clasei

friend <prototipul functei prietene>;

Exemplu

// functie prietena

#include<iostream>

#include<conio.h>

using namespace std;

class Dreptunghi

//declaratie functie prietena

friend Dreptunghi dublu(Dreptunghi);

void Dreptunghi::setValori(int a, int b)

Dreptunghi dublu(Dreptunghi drParam)



int main ()

Functia dublu este prietena a clasei Dreptunghi Din corpul ei avem dreptul sa accesam membrii privati lungime si latime a diferitor obiecte de tip Dreptunghi. Remarcam ca functia dublu nu este membru a clasei Dreptunghi. Este o functie globala. Dar are acces la membrii privati ai lui Dreptunghi

Functiile prietene sunt utile uneori, pentru a efectua operatii cu doua clase diferite. Atunci cand este nevoie ca functia sa aiba acces la membrii privati ai ambelor clase. In acest caz functia poate fi declarata globala, dar prietena cu ambele clase. Conceptul de prietenie nu face parte din programarea orientata obiect. In general, functiile prietene trebuie evitate si inlocuite cu functii membre a claselor. In exemplul precedent, ar fi fost mai simplu sa declaram functia dublu membra a clasei Dreptunghi






Politica de confidentialitate




Copyright © 2024 - Toate drepturile rezervate