// File: cctest2.cpp // // Use the ColorCube class. // Check passing dervied objects by reference. #include #include "ColorCube.h" using namespace std ; void foo1(ColorCube& cc) { cc.identify() ; return ; } void foo2(Cube& c) { c.identify() ; return ; } void foo3(Box& b) { b.identify() ; return ; } int main() { ColorCube cc(1.2, ColorCube::blue) ; // use alternate constructor cout << "foo1: " ; foo1(cc) ; cout << "foo2: " ; foo2(cc) ; cout << "foo3: " ; foo3(cc) ; cout << "\n\nSizes:\n" ; cout << " sizeof(Box) = " << sizeof(Box) << endl ; cout << " sizeof(Cube) = " << sizeof(Cube) << endl ; cout << " sizeof(ColorCube) = " << sizeof(ColorCube) << endl ; }