title: How to overload dereference operator?
body: <p>How do I overload the dereference operator? What would the declaration look like? I'm creating a list class, but I am have trouble with the dereference operator. </p>
  
  <p>Here is my function for overloading the dereference operator</p>
  
  <pre><code>template &lt;typename T&gt;
  T List_Iterator&lt;T&gt;::operator *(){
      return current_link-&gt;value;
  }
  </code></pre>
  
  <p>This is the data members in my iterator class</p>
  
  <pre><code>private:
        /* Data Members */
      Link&lt;T&gt;* current_link;
  </code></pre>
  
  <p>This is my link class</p>
  
  <pre><code>protected:
      T value;
  </code></pre>