CS1412
Introduction into programming principles II
Table of Contents
- Overview of CS1412 / Spring 2006
- I. Object Orientation
- II. Object Orientation in C++
- III. wxWidgets
List of Figures
- 1.1. UML short class notation
- 1.2. UML long class notation
- 1.3. UML long class notation with some attributes and operations
- 2.1. Operations and attributes of Hominoid
- 2.2. The Hominoid's City
- 3.1. Black Box View
- 3.2. Example of the same attributes, with getters and setters
- 3.3. Excerpt from the atomic bomb, now with getters and setters
- 5.1. An object with its handle
- 5.2. hom1 pointing at the object with handle 602237
- 5.3. hom2 pointing to the object with handle 142857
- 5.4. hom1 and hom2 pointing to the same object, object 142857 is unreachable
- 6.1. Dissection of a message and its components
- 6.2. Hominoid with one operation with in and out parameters
- 6.3. Call to a Hominoid Object
- 6.4. Call to a Hominoid object with return arrow
- 6.5. Timer detonating two bombs
- 6.6. A TV with a Remote and Tuner
- 6.7. Communication diagram for TV
- 7.1. Three objects of the same class and their memory requirements
- 7.2. 15 objects sharing the same class
- 7.3. Grid for the Hominoid, implement completely static since there is only one
- 7.4. Solution for Scrabble
- 7.5. A color class with static methods for creation
- 7.6. Example solution for Location class
- 8.1. UML diagramm for class Aircraft
- 8.2. Glider inheriting from Aircraft
- 8.3. Larger example of inheritance
- 8.4. Example solution for vehicle inheritance
- 8.5. Example of multiple inheritance
- 9.1. A class for polygons
- 9.2. Polygon with some subclasses
- 9.3. Polygon with subclasses that overwrite methods
- 9.4. Inhertiance diagram for Aircrafts
- 9.5. Example operation on vehicles
- 9.6. Vehicles with abstract superclass
- 9.7. Abstract object as done on paper
- 10.1. Two classes that have nothing in common
- 10.2. Two different stacks for two different types
- 10.3. Two similar stacks for two different types
- 10.4. A generic Stack Class
- 10.5. The STL class "Vector"
- 11.1. Hello World Class
- 11.2. Hello redefined for implementation
- 11.3. Polygon class
- 11.4. Specification for hello
- 11.5. Overview of a Class in C++
- 11.6. A C++ program
- 11.7. Example of two classes referencing each other
- 12.1. A Counter class
- 12.2. A daisy
- 12.3. Location Class
- 12.4. A Person with a Location
- 12.5. Car and Wheels
- 19.1. Sample stacked box Sizers
List of Examples
- 1.1. Define these items as class, operation or attribute
- 1.2. Example Class Diagrams
- 3.1. Public, private, and read-only attributes
- 3.2. Combination of students results
- 3.3. Atomic bomb with a derived attribute
- 3.4. Actual implementation of derived attribute
- 3.5. Lamp with a bulb one-way navigable
- 3.6. Lamp with bulb, two-way navigable
- 3.7. Lamp with bulb, one-way navigable, shown as association
- 3.8. Lamp with bulb, two-way navigable, shown as association
- 3.9. Atom bomb and timer as two separate classes
- 3.10. Multiplicity on attributes
- 3.11. Multiplicity on associations
- 3.12. A timer for multiple bombs
- 5.1. Homioid class shown with 3 instances
- 5.2. Instances for Cars
- 5.3. Class diagram and object diagram for Hominoid with Position
- 5.4. A bike instance with two wheel instances
- 5.5. Instances for the bomb and the modern timer
- 11.1. Hello.h
- 11.2. Hello.cpp
- 11.3. main.cpp
- 13.1. Example: Implementation of polygon