El tudnátok nekem magyarázni a friend kulcsszó működését? Hogyan működik egy friend osztály és egy globális friend függvény esetében?
Az is jó lesz nekem ha adtok egy jó magyar nyelvű magyarázatot példaprogramokkal.
Köszi.
Akkor ne segítsetek.
Egyáltalán nem értem.
Ezért nincs mit bemásolnom.
Az hülyeség volt csak próbálgattam.
Segítsetek kód nélkül pls.
Van a három láthatóságot módosító szó: a public, publikus, a private, privát és a protected, a leszármazott osztályokból elérhető.
A friend mechanizmus arra való, hogy a protected minősítésű metódusok és adattagok elérhetők legyenek egy nem leszármazott osztályból. Néha hasznos.
Kevés amit írtatok erről meg szerintem hiányos is lehet nagyon.
Az a baj,hogy a neten nem túl sok infó van a friendről.
Én nem találok semmit a neten.
Találtam egy jó oldalt.
Ha nem lesz valami tiszta majd segítsetek elmagyarázni,ha már példaprogramokkal nem vagytok hajlandóak megszánni. :D
De fáradt vagyok megyek most aludni. cscs.
A 22:58-as válaszoló tökéletesen kifejtette pedig neked és elég részletesen is.
Ha nem megy, akkor nálad még valószínűleg az objektum orientált felfogással vannak a gondok. Ezen nem nagyon tudnak mások segíteni, nézz sok kódot és olvass jobban utána, hogy mi is az OOP és akkor világos lesz a magyarázat!
Na, még egyszer. A friend a private tagokhoz is hozzáfér!
Példa kódok a friend mechanizmusra:
#include <iostream>
#include <cmath>
using namespace std;
class Sclass;
class Tclass {
int szamlal(int x) {};
};
class Fclass {
// Az Sclass osztaly barat, igy minden tagfuggvenyere
//vonatkozik a barati viszony.
//Ez a kapcsolat azonban nem kolcsonos!
friend Sclass;
// A Tclass osztalynak csak a szamlal fuggvenye barat.
friend long sum(void);
// ...
};
class Pont{
friend double tavolsag(const Pont & p1, const Pont & p2);
private:
int x, y;
public:
void beallit(int x_, int y_){
x = x_;
y = y_;
}
};
double tavolsag(const Pont & p1, const Pont & p2){
return sqrt(pow(p1.x-p2.x,2)+pow(p2.x-p2.y);
)
}
void main(){
Pont p, q;
p.beallit(1,2);
q.beallit(4,6);
cout<<tavolsag(p,q)<<endl;
cin.get();
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!