Goals of CS201
- C++ Basics
- Comparing C++ and Java
- Programming style
- Indenting
- Variable and function names
- What makes a good function
- Commenting
- main() function
- #include files
- Relative and absolute
- The common files
- Stream I/O
- iostream.h
- The escape charactors (\n \b \\ \" \t)
- endl
- C++ types
- Numeric types
- The Heirarchy
- Overflow and underflow
- Promotion and order of operation
- Chars
- Converting between ASCII char and numbers
- Typecasting
- Syntax
- What can be converted
- Constants
- Strings
- Definition
- char * style strings
- pascal style strings
- the string class
- Reading in a string
- Using cin (no
whitespace allowed)
- Using getline (allows whitespace)
- String manipulation (appends, truncate, search, etc)
- The builtin string functions
- strlen
- strcpy
- strcat
- Converting to upper and lower case.
- Using the 'string' class
- #include
- Builtin functions
- File I/O
- Opening a file
- Various modes
- Error Detection
- Reading and Writing
- Read
- Write
- Lseek including the whence parameter
- Error Detection
- Reading binary data
- Effects of caching on file i/o
- Closing a File
- Error ignoring
- Pointers
- What does ++ and -- and +=4 mean?
- Pass by Reference vs. Pass by Value
- Null Pointer
- How does new() return out-of-memory?
- Learn C++ Objects
- All
the normal object stuff from Java
- Protection: public private friend protected
- New C++ Constructor features
- Copy Constructors
- Default copy constructor
- Destructors
- Operator overloading
- One vs Two argument operators
- What can be overloaded
- What cannot be overloaded ( . -> * ( ) & )
- Will the compiler do arithmatic optimization
- Default operator=
- Deep vs shallow copies
- Signatures of some basic operators like +, *, cout << ,
etc.
- Inheritence
- Order of construction
- Order of destruction
- Calling the superclass's constructor
- Virtual
- Abstract virtual
- What is the type of 'this'.
- Algorithms
- Binary Search
- Linked List
- Hash tables
- Templates
- What is compilable code
- What types can be used in a template
- Extras
- inline
- Making header files
- Dress up day.
- Dressing well
- Dressing badly