dsimcha wrote:
== 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?
They can't be instantiated.
Andrei