Új hozzászólás Aktív témák
-
cog777
senior tag
Sziasztok!
Most nézem át a c++ operátor overloading-ját, van két megoldás:
class Point
{
public:
Point(int x, int y) {Point::x=x;Point::y=y;}
Point operator+(Point &p) {return Point(x+p.x, y+p.y);}private:
int x,y;
}A kérdésem:
"Point operator+(Point &p) {return Point(x+p.x, y+p.y);}" Miért lehet elérni a "p.x"-et??? (illetve a p.y-t?) (Az adatrejtés elve miatt kérdezem, hiszen private )A másik megolds szinte ugyanez:
class Point
{
public:
Point(int x, int y){Point::x=x;Point::y=y;}
friend Point operator+(Point &p, Point &q) {return Point(q.x+p.x, q.y+p.y);}private:
int x,y;
}Itt már értem, hiszen a friend el tudja érni a private adatokat!
HP ZBook Studio 15.6 G8 Mobile Workstation - Windows 11
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Canon EOS RP kit váz + RF 24-105mm F4-7,1 IS STM
- Csere-Beszámítás! Omen Számítógép játékra! I7 10700 / RTX 3070Ti / 32GB DDR4 / 1TB SSD!
- Apple iPad Air 4 - Cellular (AJÁNDÉK Pencil 2) 64 GB
- Gainward RTX 4070 Ghost 12 GB szinte új videókártya - 34 hónap Alza garancia
- Thinkpad L14 Gen3 14" FHD IPS i3-1215U 16GB 512GB NVMe gar