<h1 id="Concept-of-interfaces-(C++)">Concept of interfaces (C++)<a class="anchor-link" href="#Concept-of-interfaces-(C++)">¶</a></h1><ul>
<li>An interface is usually written in <em>.hh</em> files</li>
<li>It describes <strong>how to use</strong> a function</li>
<li>To be opposed with the body of a function which describes <em>how it works</em></li>
</ul>
<p><br></p>
<h3 id="-Why-is-it-important-to-have-this-concept-?-"><center> Why is it important to have this concept ? </center><a class="anchor-link" href="#-Why-is-it-important-to-have-this-concept-?-">¶</a></h3>
<h3 id="-How-to-define-new-types-in-C++-?-"><center> How to define new types in C++ ? </center><a class="anchor-link" href="#-How-to-define-new-types-in-C++-?-">¶</a></h3>
<h2 id="Typedefs-or-type-aliases"><a href="https://en.wikibooks.org/wiki/C%2B%2B_Programming/Programming_Languages/C%2B%2B/Code/Keywords/typedef">Typedefs</a> or type aliases<a class="anchor-link" href="#Typedefs-or-type-aliases">¶</a></h2><hr>
<li>declares the <a href="https://en.wikibooks.org/wiki/C%2B%2B_Programming/Classes#Data_members">members</a> and <a href="https://en.wikibooks.org/wiki/C%2B%2B_Programming/Classes#Member_Functions">methods</a></li>
<h2 id="this-points-to-the-current-object"><a href="https://en.wikibooks.org/wiki/C%2B%2B_Programming/Classes#this_pointer">this</a> points to the current object<a class="anchor-link" href="#this-points-to-the-current-object">¶</a></h2>
<h2 id="Polymorphism"><a href="http://en.wikipedia.org/wiki/Subtype_polymorphism">Polymorphism</a><a class="anchor-link" href="#Polymorphism">¶</a></h2><p>Set of mechanisms allowing program methods/functions in several ways</p>
<span class="n">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="s">"Houston we have a problem"</span><span class="p">;</span>