Date Description
2019-01-15 distance.cpp
2019-01-17 Distance calculator with separate module and namespace:
distance.cpp geometry.hpp geometry.cpp makefile
C++ strings:
hello.cpp
2019-01-22 Reference parameters
reference.cpp
Distance calculator with Point class:
distance.cpp geometry.hpp geometry.cpp makefile
2019-01-24 Operator overloading (Feb 4: and exceptions):
rational_test.cpp rational.hpp rational.cpp
2019-01-29 Abstraction:
todo.cpp task.hpp task.cpp todolist.hpp todolist.cpp makefile
Alternate Implementation (nothing else changes):
todolist.hpp todolist.cpp
2019-02-05 To-do list with dynamic memory allocation:
todo.cpp task.hpp task.cpp todolist.hpp todolist.cpp makefile
Illustration of when copy/move constructors/assignment are called:
constructors.cpp
2019-02-07 Vector template:
vector_test.cpp vector.hpp vector.cpp task.hpp task.cpp makefile
2019-02-12 Vector template with views and iterators:
vector_test.cpp vector.hpp vector.cpp makefile
2019-02-14 Algorithms and lambda expressions:
vector_test.cpp vector.hpp vector.cpp makefile
2019-02-19 unordered_map:
stl.cpp
STL:
home_venue.cpp ncaam_2019.txt makefile
Version with STL containers inside objects:
venues.hpp venues.cpp oop_algos.hpp home_venue.cpp makefile
2019-02-21
2019-02-26
Inheritance:
agents.cpp (1-D Simulation)
2-D Simulation
2-D Simulation with Multiple Inheritance
2019-02-28 Strategy Pattern:
Swine Agents
2019-03-05 Midterm Exam:
Practice Problems
2019-03-26 Factory Pattern:
Factory Pattern
2019-04-04 Implementation of Inheritance:
diagrams
abi_object.cpp (a simple object)
abi_inheritance.cpp (single and multiple inheritance)
abi_virtual.cpp (virtual inheritance)
ABI reference
Scott, Programming Language Pragmatics, § 9.5
2019-04-09
2019-04-11
Simulation in Go (composition/embedding)
2019-04-16
2019-04-18
Builder
2019-04-23 Covariance and Type Erasure
2019-04-25 Objective-C
Examples can also be found on the Zoo in /home/httpd/html/zoo/classes/cs427/2019s/Examples and its subdirectories.