Declaring a pure virtual
If you write, for example
class X {
public:
virtual void foo() = 0;
};
then
- Function X::foo is a pure virtual
- Class X is an therefore abstract base class
- Any class derived from X is also an abstract base class unless it defines foo