title: What are "abstractions"?
body: <p>I've been reading Stroustrup's "The C++ Programming Language" and he mentions "abstractions" a lot: </p>
  
  <blockquote>
    <p>Many of the most flexible, efficient, and useful abstractions involve the parameterization of types (classes) and algorithms (functions) with other types and algorithms</p>
  </blockquote>
  
  <p>and </p>
  
  <blockquote>
    <p>C++ is a language for developing and using elegant and efficient abstractions.</p>
  </blockquote>
  
  <p>Is this in any way related to abstract classes in C++? Or with using polymorphism, inheritance, or templates? </p>
  
  <p>Could someone give an example please?</p>