In C++ a class is a user-defined type, syntactically a struct with member functions. Constructors and destructors are member functions called to create or destroy instances. A friend is a nonmember function that is allowed to access the private portion of a class. C++ allows implicit type conversion, function inlining, overloading of operators and function names, and default function arguments. It has streams for I/O and references.
["The C++ Programming Language", Bjarne Stroustrup, A-W, 1986].