Miért nem fér hozzá a friend osztály annak az osztálynak a protected változójához, amelyiknek a friend osztálya (C++)?
Ezt a hibaüzenetet kaptam: 'Nap::foglalt' : cannot access protected member declared in class 'Nap'. Mit csináltam rosszul?
Nap.h:
class Naptar;
class Nap
{
friend class Naptar;
protected:
unsigned int ev;
unsigned int honap;
unsigned int nap;
bool foglalt;
};
Naptar.h:
#include <string>
#include "Nap.h"
class Nap;
class Naptar
{
Nap egynap;
void foglal (Nap egynap, bool foglalt);
bool foglalt_e (Nap egynap);
string milyen_nap (Nap egynap);
unsigned int nap_kulonbseg (Nap egynap, Nap masiknap);
};
Naptar.cpp:
#include <iostream>
using namespace std;
#include "Naptar.h"
void foglal (Nap egynap, bool foglalt)
{
egynap.foglalt= true;
}
int main()
{
system ("pause");
return 0;
}
Most esett le, mi a hiba -.-
Már működik :)
(
#include "Nap.h"
class Nap;
A második sor nem kell, már beinclude-oltad. :)
)
Amúgy az
egynap.foglalt= true;
a main-ben van, az pedig nem friend. :)
A "Naptár" implementációját nem látom, de abban tudod elérni a "Nap" tagjait, nem a main-ben.
"void foglal (Nap egynap, bool foglalt) {egynap.foglalt=true;}"
az ilyen kódokat imádom..
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!