October 1997
Intermediate to advanced
800 pages
20h 48m
English
Many constructors use single argument signatures or defaults to build class types from other types. Consider the Fifo class from Listing 4.7 on page 196, for example.
class Fifo {
private:
char *s; // pointer to char data
mutable int front; // read placeholder
int rear; // write placeholder
mutable int count; // current number of chars
int len; // length
. . .
public:
// Constructors
Fifo(int size = Fifo_max) { // inline constructor
s = new char[len = size];
front = rear = count = 0;
}
Fifo(const char *, int size = Fifo_max);
. . .
};
The first Fifo constructor creates character Fifo objects with either a default length of 80 (Fifo_max) or a specified length. The second constructor builds Fifo objects from character strings ...