Programming Stream C++11
Agreed Detail Changes to OOP244/BTP200 - C++11
- new - add – from 344/300 – space created by moving const and pointer-array equivalence to 144/100
- simple file objects
- inline functions
- default parameters
- function templates
- abstract base classes
- enhance namespace syntax and descriptions – short definition at intro – fuller examples at end
- trivial additions - add to align with C++11
- long long int – at least as large as long int and no fewer than 64 bits
- nullptr
- auto – creates a variable of the same type as the initializer itself – specific type is not always easy for the user to identify
- object is fully constructed once any constructor has finished execution
- delegated construction – constructor can call other peer constructors – cf. Java, C#
- data member initialization – = initial_value - constructor can override this initial value
- = delete prohibits calling a member function with specified signature – avoids silent conversions
- enhanced for – iteration over a list of elements
- type-safe casting *_cast< >
- terminology - 'special' member functions are the default ctor, copy ctor, copy assignment operator, and destructor
- terminology - 'polymorphic class' is a class that declares or inherits a virtual function