|
Updated 3/29/2007
C++ Language
Basic C++
- Slideshows and sample programs: simplest.zip
- Comparing C++ to C
- Basic input/output using iostreams
- bool type
- enum types
- const parameter types
- reference types and reference parameters
- overloading functions and overload resolution
- casting between types
- strings
- useful utilities: utils.cpp
Classes
- powerpoint show (9/12/06)
- examples (9/12/06)
- Java/C++ differencew
- defining classes
- use of header and cpp files in classes
- scope resolution (::) operator
- member functions
- inline function
- implicit this pointer
- overloading constructors
- default parameter values
- initializer lists
- destructors
- copy constructor
- const member functions
- static members
- motors application, versions 1 and 2
IOStreams
- iostream library
with vector example
- stream condition states
- string streams
- iostream format state
- file I/O
Arrays and Pointers
ANSI C Programming
- Creating a C program
- basic structural and syntax differences from Java
- structures
- printf and scanf (stdio.h standard C library)
- preprocessor directives
- striing.h standard C library
- conversion functions (atoi, atof, ftoa, toupper, tolower)
- conio.h standard C library
- dynamic allocation (malloc, release)
- pointers to functions
- macros
- file I/O with fscanf and frpintf
- Weiss/Irvine powerpoint
show.
- Program examples (WinZip file)
Exam 1: ANSI C and Beginning C++
Advanced C++
Inheritance and Polymorphism
- inheritance slideshow and
examples (10/2/06)
- base class member access
- base & derived class construction & destruction
- abstract classes
- virtual member functions
- virtual destructors
- RTTI, dynamic_cast<>, and typeid
- exception handling and inheritance
- multiple inheritance and virtual inheritance
- public, private, and protected inheritance
Basic Containers
- vector container type
- list container type
- iterators
- sequence container operations
- vectors slide show
Exception handling
Operator Overloading
- operator overloading
- friend keyword
- overloading the << and >> operators
- overloading various operators
- overloading the conversion operator
- Slide shows: operators,
- Time example; StudentVector
example
Function Templates
- function templates
- overloading function templates
Generic Algorithms
Advanced Java
Objects and Reflection
Proxies
Exam 2: Advanced C++ and Java Reflection
Threads
& Synchronization
- Threading Slide show
- ThreadDemo by Weiss.
- Simple threading examples: Thread1,
Thread2, Join,
Daemon, Interrupt,
Priority
- Synchronization Slide
show
- Simple Semaphore test program:SemaphoreTest
- Thread interruption example: GetUserInput
- Two unsynchronized threads modify the same object: NoSync
- Threads using synchronized methods exchange integer values: Sync1,
Sync2, Sync3
- Synchronizing both static and nonstatic methods: Static
- Bank account progs that show how to use wait() and notifyAll(): AccountDemo1,
AccountDemo2, AccountDemo3
(updated) , AccountDemo4,
AccountDemo5
- SemaphoreTest program
(relates to Project 2)
- Creating and resolving deadlock: BankDemo1,
BankDemo2
Networking
- The slide show
- Demonstrating the InetAddress class
- Single-threaded echo server
- Client that connects to the echo server
- Multithreaded echo server
- UDP time of day example
- Reading a Web page; reading a pasword-protected Web page
- Sending email
- Sending datagrams
- All example programs
Exam 3: Java Threads, Synchronization, and Networking
|