Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Sta su friend funkcije?

[es] :: C/C++ programiranje :: Sta su friend funkcije?

[ Pregleda: 2112 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

djordje
Đorđe Mijailović
Novi Sad

Član broj: 3704
Poruke: 1723
82.117.203.*

Sajt: www.diy-electronic-projec..


Profil

icon Sta su friend funkcije?18.12.2005. u 18:36

Mozete li mi reci ukratko sta se postize funkcijama koje se definisu u okviru klase kao prijateljske funkcije?
18.12.2005. u 18:36 

japan

Član broj: 34328
Poruke: 473
*.dialup.sezampro.yu.



Profil

icon Re: Sta su friend funkcije?18.12.2005. u 18:42
ukratko, funkcija koja je definisana kao friend za neku klasu može da "vidi" privatne promenljive te klase.
18.12.2005. u 18:42 

djordje
Đorđe Mijailović
Novi Sad

Član broj: 3704
Poruke: 1723
..mtsns-ns.customer.sbb.co.yu.

Sajt: www.diy-electronic-projec..


Profil

icon Re: Sta su friend funkcije?18.12.2005. u 20:21
Laptopovi

Moze li neko da da konkretan primer koda?
18.12.2005. u 20:21 

Buffy
Stanko Culaja
Sipovo, BiH

Član broj: 45310
Poruke: 312
*.teol.net.



Profil

icon Re: Sta su friend funkcije?18.12.2005. u 23:38
Code:

#include <iostream>
using namespace std;

int main();

class a{
public:
    int a;
private:
    int b;
    friend int main();
};

int main(){
    a obj;
    obj.b=10;//ovo je privatan clan    
    cout<<obj.b<<endl;
    return 0;
}

culaja@gmail.com
18.12.2005. u 23:38 

Goran Arandjelovic
Beograd

Moderator
Član broj: 29116
Poruke: 368
*.88.eunet.yu.

Sajt: www.cpplang.com


Profil

icon Re: Sta su friend funkcije?18.12.2005. u 23:49
Code:

#include <iostream>
using namespace std;

class Neka_Klasa
{
  public:
    Neka_Klasa();
    ~Neka_Klasa();
    int saberi();
    int pomnozi();
    friend int oduzmi(Neka_Klasa &objekat); // ovde je proglašena prijateljem
  public:
    int x;
    int y;
};

int oduzmi(Neka_Klasa &objekat); // deklaracija neke funckije koja prima referencu na objekat tipa Neka_Klasa

Neka_Klasa::Neka_Klasa()
{
  x = 13;  //proizvoljne vrednosti
  y = 7;
}

Neka_Klasa::~Neka_Klasa()
{
}

int Neka_Klasa::saberi()
{
  return(x+y);
}

int Neka_Klasa::pomnozi()
{
  return(x*y);
}

int oduzmi(Neka_Klasa &objekat)
{
  return(objekat.x - objekat.y);
}

int main(int argc, char *argv[])
{
  Neka_Klasa P;
  cout << P.saberi();
  cout << P.pomnozi();
  cout << oduzmi(&P); // što znači da će ova funkcija imati mogućnost da vidi private deo tog objekta...
}

18.12.2005. u 23:49 

djordje
Đorđe Mijailović
Novi Sad

Član broj: 3704
Poruke: 1723
82.117.203.*

Sajt: www.diy-electronic-projec..


Profil

icon Re: Sta su friend funkcije?18.12.2005. u 23:58
E sad je jasno. Hvala
18.12.2005. u 23:58 

Goran Arandjelovic
Beograd

Moderator
Član broj: 29116
Poruke: 368
*.88.eunet.yu.

Sajt: www.cpplang.com


Profil

icon Re: Sta su friend funkcije?19.12.2005. u 00:01
Buffy ti je dao primer kada u prijateljskoj funkciji (u ovom slučaju u samom main-u) kreiraš objekat. Ja sam ti dao primer kada nad već iskreiranim objektom hoćeš prijateljskom funkcijom da promeniš privatne članove (ili ih direktno upotrebiš).
Prijateljske funkcije nemaju this pokazivač.
Prijateljsku funkciju možeš deklarisati ili u public ili u private ili u protected delu. Sve jedno je. Nema razlike.
19.12.2005. u 00:01 

DDMM
Dejan D. M. Milosavljevic
Gajba, ali ne piva.

Član broj: 2544
Poruke: 89
*.vdial.verat.net.

Sajt: www.ddmrm.com


Profil

icon Re: Sta su friend funkcije?20.12.2005. u 12:43
Drugim recima:

Only your friends can handle with your private parts.


I jos uslovi za mene specificni:

true ==( typeid(friend).name() == std::string( "female18224" ) );


A ostali neka odaberu po svojoj volji.





[Ovu poruku je menjao DDMM dana 20.12.2005. u 14:05 GMT+1]
X
20.12.2005. u 12:43 

[es] :: C/C++ programiranje :: Sta su friend funkcije?

[ Pregleda: 2112 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.