== Quote from Andrei Alexandrescu ([email protected])'s article > Jeremie Pelletier wrote: > > Andrei Alexandrescu wrote: > >> Consider: > >> > >> class A { > >> abstract void fun() {} > >> } > >> > >> The class defines a function that is at the same time abstract (so it > >> requires overriding in derivees) and has implementation. > >> > >> Currently the compiler disallows creation of objects of type A, > >> although technically that is feasible given that A defines the > >> abstract method. > >> > >> Should A be instantiable? What designs would that help or hinder? > >> > >> > >> Andrei > > > > What's the point of marking fun() abstract if it has an implementation, > > I thought the compiler disallowed that. > It may offer incomplete functionality that is to be reused and enhanced > by descendants. > Andrei
If you are in that situation, then don't declare the class abstract. I thought the whole point of abstract classes was that they can't be instantiated. If it can be instantiated, then what does abstract even mean?
