subtype and covariant return type
<p>I found an explanation <a href="http://stackoverflow.com/questions/1882584/what-is-a-covariant-return-type">What is a covariant return type?</a> but I am no smart to understand it all.</p>

<p>I think Covariant return type theoritically is the type returned by a function that has the same signature with a built-in base class function whose return type is different.</p>

<pre><code>class Base{
   TypeX func( int i ){return typex;} // builtin function
};
class Derived:Base{
   TypeY func(int i){return typey;}
}
</code></pre>

<p>Is my understanding of this so-called covariant return type correct ? [the term really confuses me.]</p>
