if I use protected instead of private in interface like:
interface Transmogrifier
{
final void thereAndBack()
{
transmogrify();
untransmogrify();
}
protected:
void transmogrify();
void untransmogrify();
}
class CardboardBox: Transmogrifier
{
override protected void transmogrify() { }
override void untransmogrify() {}
}
int main()
{
auto cb = new CardboardBox();
return 0;
}
it compiles, but why does compiler permit making untransmogrify() be
public? How can I prohibit this? May be it just unrealized yet?