Ho 2 classi, base e classe figlio. La classe base ha una variabile int protetta. La mia comprensione è che a qualsiasi membro protetto di una classe è possibile accedere solo in una classe figlia, non è possibile accedervi, ad esempio creando un'istanza di una classe e accedendo al membro protetto. Come funziona allora?
class BaseClass
{
protected int x = 0;
private static void Funny(BaseClass c, ChildClass d)
{
d.x = 9; // How can we access x here?
c.x = 0; // How can we access x here?
}
}
class ChildClass: BaseClass
{
public void MyFunc()
{
x = 0; // This should be OK, because x is a protected member of
}
private static void Funny(BaseClass c,ChildClass d)
{
d.x = 9;
c.x=0;// This is giving compile time error? According to me even above line should give compile time error
}
}