C/C++ Arena

Step 3 of 8

Abstract classes

A pure virtual function (= 0) has no implementation in the base class. A class with one is abstract: you can't create it directly, only derive from it. It acts as an interface.

class Shape {
public:
    virtual double area() const = 0;
    virtual ~Shape() = default;
};

Your turn: write Circle (radius) and Rect (width, height) implementing area(). Use 3.14159265358979 for pi.

Previous: virtual and override Next: Polymorphic containers