digitalmars.D.bugs - abstract / private
- Matthew (41/41) Jun 02 2004 This may not be a bug in the language, but if not then it's one in the c...
This may not be a bug in the language, but if not then it's one in the compiler:
public abstract class Base
{
public:
void method()
{
impl();
}
private:
abstract void impl();
}
public class Sub1
: public Base
{
private:
override void impl()
{
printf("Sub1\n");
}
}
public class Sub2
: public Base
{
private:
override void impl()
{
printf("Sub2\n");
}
}
int main()
{
Base base = new Sub1();
base.method();
return 1;
}
This yields
abs.obj(abs)
Error 42: Symbol Undefined _D3abs4Base4implFZv
If we provide an impl for Base::impl(), then it calls that. ;(
If the language prohibits the declaration of overridable/overriden methods as
private, then the compiler should let us know that that's the case.
Jun 02 2004








"Matthew" <matthew.hat stlsoft.dot.org>