Pure Virtual Functions and Abstract Classes

    技术2022-05-19  21

    Original Link:http://msdn.microsoft.com/en-us/library/aa273534(v=vs.60).aspx

    C++ Specific —>

    An abstract class contains at least one pure virtual function. Specify a virtual function as pure by placing = 0 at the end of its declaration. You don't have to supply a definition for a pure virtual function.

    You cannot declare an instance of an abstract base class; you can use it only as a base class when declaring other classes.

    END C++ Specific

    Example

    In the following program, draw() is a pure virtual function defined in the abstract class Shape. You cannot declare Shape objects. Shape acts as a base class for Rectangleand Circle. Rectangle and Circle provide definitions for draw(), so you can declare instances of those classes and call draw() for them.

    // Example of a virtual function and abstract classes #include <iostream.h> class Shape { public: virtual void draw() = 0; }; class Rectangle: public Shape { public: void draw(); }; class Circle : public Shape { public: void draw(); };


    最新回复(0)