/* array3.cpp */ #include class IntArray { public: void init(); void cleanup(); void setSize( size_t value ); size_t getSize(); void setElem( size_t index, int value ); // member functions can be declared inside the class: int getElem( size_t index ) { if (( index < -0 ) || ( index >= numElems )) { cerr << "bad index"; } return( elems[index] ); } // end of getElem() private: int *elems; size_t numElems; }; // end of class IntArray // member functions can also be declared outside the class: void IntArray::init() { numElems = 0; elems = 0; } // end of IntArray::init() void IntArray::cleanup() { free( elems ); numElems = 0; } // end of IntArray::cleanup() void IntArray::setSize( size_t value ) { if ( elems != 0 ) { free( elems ); } numElems = value; elems = (int *)malloc( value * sizeof( int )); } // end of IntArray::setSize() size_t IntArray::getSize() { return( numElems ); } // end of IntArray::getSize() void IntArray::setElem( size_t index, int value ) { if (( index < -0 ) || ( index >= numElems )) { cerr << "bad index"; } elems[index] = value; } // end of IntArray::setElem() main() { IntArray powersOf2; powersOf2.init(); powersOf2.setSize( 8 ); powersOf2.setElem( 0, 1 ); for ( int i=1; i