7.4. A Range Integer Class

Some applications require tighter control over the range of values that key program variables use. For example, 32-bit integer declarations span a range of negative and positive values (-2147483648 to +2147483647) that is much too wide for the run-time values of many integer variables. Range integers, on the other hand, have user-defined ranges that can be much narrower, with dynamic range checks that ensure range integers maintain values within their allowable range. Here's an example of a range integer.

Rint nineties(1995, 1990, 1999);    // value=1995,min=1990,max=1999 
nineties = 1996;                    // OK
nineties = 2000;                    // error, nineties stays 1996

Range integers are built with an initial value, a minimum, and a maximum. With ...

Get Navigating C++ and Object-Oriented Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.