Skip to Main Content
Software Essentials
book

Software Essentials

by Adair Dingle
July 2014
Intermediate to advanced content levelIntermediate to advanced
436 pages
12h 27m
English
Chapman and Hall/CRC
Content preview from Software Essentials
Design Alternatives and Perspectives 243
Example 8.10: Polymorphic Subobjects: C++
class flexQueen
{
B* subObjP;
public:
flexQueen()
{ // subObjP = 0;
subObjP = new B;
// subObjP = new Be;
// subObjP = new Bee;
// subObjP = new B[size];
// other choices
}
virtual void store()
{ subObjP->store(); // dynamic behavior
}
void replaceB(B*& worker)
{ delete subObjP;
subObjP = worker;
worker = 0;
}
};
Despite its silly name, the QueenB example illustrates simple design
variants that impact control and exibility as well as manipulation via
interfaces. Consider a hierarchy of B types (B, Be, Bee, B e N ot,...),where
each subtype can override the inherited virtual store() method. ...
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

Software Architect’s Handbook

Software Architect’s Handbook

Joseph Ingeno
Economics-Driven Software Architecture

Economics-Driven Software Architecture

Ivan Mistrik, Rami Bahsoon, Rick Kazman, Yuanyuan Zhang
Software Architect Bootcamp

Software Architect Bootcamp

Raphael Malveau, Ph.D. Thomas J. Mowbray

Publisher Resources

ISBN: 9781439841204