Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
C++ Windows Programming

You're reading from   C++ Windows Programming Develop real-world applications in Windows.

Arrow left icon
Product type Paperback
Published in Sep 2016
Publisher Packt
ISBN-13 9781786464224
Length 588 pages
Edition 1st Edition
Languages
Arrow right icon
Toc

Table of Contents (16) Chapters Close

Preface 1. Introduction FREE CHAPTER 2. Hello, Small World! 3. Building a Tetris Application 4. Working with Shapes and Figures 5. The Figure Hierarchy 6. Building a Word Processor 7. Keyboard Input and Character Calculation 8. Building a Spreadsheet Application 9. Formula Interpretation 10. The Framework 11. The Document 12. The Auxiliary Classes 13. The Registry, Clipboard, Standard Dialogs, and Print Preview 14. Dialogs, Controls, and Page Setup A. Rational and Complex Numbers

The DrawFigure class


The Draw class is the root class of the hierarchy and is mostly made up of virtual and pure virtual methods intended to be overridden by the subclasses.

The difference between a virtual method and a pure virtual method is that the virtual method has a body and it may be overridden by a subclass. If the subclass overrides the method, its version of the method is called.

If the subclass does not override the method, the method of the base class is called instead. A pure virtual method does not usually have a body, and a class holding at least one pure virtual method becomes abstract. The subclass can either override all the pure virtual methods of its base class or become abstract itself:

Draw.h

enum FigureId {LineId, ArrowId, RectangleId, EllipseId}; 
class DrawDocument; 
 
class Draw { 
  public: 
    Draw(const Window* windowPtr); 

Each figure has its own identity number, returned by the GetId method:

    virtual FigureId GetId() const = 0...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image