Skip to Content
Navigating C++ and Object-Oriented Design
book

Navigating C++ and Object-Oriented Design

by Paul Anderson, Gail Anderson
October 1997
Intermediate to advanced
800 pages
20h 48m
English
Pearson
Content preview from Navigating C++ and Object-Oriented Design

5.13. Exercises

1:Study the following class definition.
class X {
private:
   double m;
   static double n;
   X member1;                              // illegal
   static X member2;                       // legal

public:
   X(double d = m);                        // illegal
   X(int, double d = n);                   // legal
   void f(double v = n);                   // legal
};

Note that static data members may appear as default arguments to member functions and constructors of the same class. Also, static data members may be objects of the class they belong to. Can you explain why these statements are legal with static data members but illegal for nonstatic members?

2:Compile the following program and compare its output on your machine to what is shown here.
 // count.C - Object creation and deletion #include <iostream.h> class X { private: static int count; public: ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Exploring C++20: The Programmer's Introduction to C++

Exploring C++20: The Programmer's Introduction to C++

Ray Lischner

Publisher Resources

ISBN: 0135327482Purchase book