YPLEX
[yplex]/[tcc][csc 2873 advanced c++]/prerequisites
what you should know before you enter this class:
basic c++ language
basic types
int’s
unsigned’s
float & double
arrays
pointers

control structures
if/else
while
do/while
for

strings (std::string)
"c" strings (nul-terminated arrays of characters)
functions
separate compilation of source files (.h .cpp)
pointers and references
use of const
dynamic memory (new, new[], delete, delete[])

classes
access control
public, protected, private
accessors ("getters" and "setters")

friend classes and functions

constructors
default and copy constructors.
trivial default and copy constructors.
initialization lists.
explicit constructors.
the difference between construction and assignment.

member objects and functions
const member functions
mutable members

inheritance
general mechanism
base class constructors in initialization lists.
polymorphism
virtual functions
overloading
pure virtual functions
chaining back to base class functions
operator overloading
members e.g.
assignment (operator=)
indexing (operator[])
non-members e.g.
ostream &operator<<(ostream &, const T &)

exceptions
throw
try/catch
catch(...)
throw;
throw clause on functions.
std::exception
base class for all standard exceptions.
const char *what() const throw().

templates
class templates
type parameters.
integral template parameters.
class template instantiation.
function templates
parametric polymorphism.
template parameter inference.
instantiate to make a function.
explicit instantiation.

standard library
at least some familiarity with fundamentals:
vector
list
iostreams (e.g. ifstream, ofstream)
iomanipulators (e.g. setw, setfill)