CLASS SUMMARY Similar as struct Struct default type is public, but Class default type as private Public members may be accessed within the scope using dot or arrow operator Private members are accessible only by class members Member functions may be actually defined outside using :: operator but must have template inside class Class constructors are special functions with same name as class, and without return type Constructors create objects running only once when the variable is declared Multiple constructors with different parameters or no parameters are allowed A class without any constructor is provided with a parameter-less constructor by compiler Once any constructor is defined explicitly compiler-default constructor is absent C++ operators may be overloaded for user defined classes Static variable has one common object within the scope Const object needs const members to access, otherwise members that can modify values are not accessible Template class Destructor methods (with same name but no return) runs at the end of lifetime of an object, typically used for deleting dynamic member objects. Copy constructor, deep copy Assignment operator overloaded class copy, deep or shallow copy