E-gradiva > Računalništvo > Programiranje > Načrtovanje in razvoj programskih aplikacij > Objektno programiranje > Prijateljske funkcije

Prijava

Prijateljske funkcije


Do privatnih metod ali podatkov razreda lahko dostopajo samo prijateteljske funkcije razreda (friend funkcije), čeprav niso člani razreda.

 

 

 

 

Primer:


class Stevec {

friend
void doloci_x(Stevec &, int);

// opredelitev friend funkcije


public
:

Stevec() { x = 0; } // konstruktor


void
izpisi() const { cout << x << endl; }

// izhod

private
:

int
x; // podatkovni element razreda

};




void
doloci_x(Stevec &c, int vred)

{


c.x = vred; // dovoljeno: doloci_x je friend

// funkcija Stevca

}

 

Primer – glavna funkcija

 

main()
{


Stevec objekt;


cout << "objekt.x po uvedbi: ";
objekt.izpisi();

cout << "objekt.x po klicu friend funkcije doloci_x: ";

doloci_x(objekt, 8); // dolocitev x s friend funkcijo
objekt.izpisi();

return
0;

}

 

Program izpiše:

 

objekt.x po uvedbi: 0

objekt.x po klicu friend funkcije doloci_x: 8