class vector // Allocated array of doubles vector() // default dimension: 3 vector(int dim) vector(vector &) // copy constructor ~vector() class matrix // Allocated array of vectors matrix() // default 3 x 3 matrix(int rows, int cols = 0) // 0 columns: cols = rows, default to square matrix matrix(double) // numbers on diagonal, rest=0 matrix(matrix &) // copy constructor To raise a matrix M to an integer power n: (see DDJ #177, page 86) note that the bits in n represent squares of M Result = 1; for (bit = 0; bit < # bits in n; bit ++) if bit in n is set Result *= M; M = M * M; class time Hours, minutes, seconds (fractional seconds ?) Conversion from HMS to decimal and vice-versa time(double) // hours double() // Convert to decimal hours operator + -