.. _exam2: Exam Two Review ############### This exam will cover the basics of Object oriented programming, and material covered since our last test. Objects and Classes ******************* * Basic Class structure * Header file * Public definitions * Private definitions * Implementation file * Class methods * Using classes * Including the class header * Creating objects * Calling class methods (messages) Designing classes ***************** * Think first, code later * Separating concepts - objects from the user's world * Keep responsibilities separate * focus on objects from the users world * What data are required for those objects? * What behavior do those objects need to provide? * decide on what parts of your class cna be ``public``, and which should be ``private`` * Types of methods: * Constructors * Default * Copy Constructors * Destructors * Accessor methods * Mutator methods Writing classes *************** * Build a header file for the class * Know the standard template for header * Build implementation for the class * Add class files to project Array topics ************ * Initializing arrays * Passing arrays to functions Searching and Sorting ********************* * Simple searching * Bubble Sorting Pointers ******** * What is a pointer? * How do you create a pointer? * Pointer math (arrays). * Pointers that point to nothing. * Getting the address of a variable. Linked Lists ************ * Management class controls access to the list * Creating new objects with ``new`` * What is a destructor, and why is it needed> * What is a ``copy constructor`` and why is it needed? Complex Numbers *************** * Classes create new data types * Define the structure for your new type (in this case a real and imaginary floating point part) * Write methods that make the type work properly * New methods for addition, subtraction, output, etc. * ``Complex::operator+(const Complex lhs, const Complex rhs);``