天天看點

C++模闆函數/類示例

源碼:

<code>#include &lt;iostream&gt;</code>

<code>using</code> <code>namespace</code> <code>std;</code>

<code>//函數模闆</code>

<code>template</code> <code>&lt;</code><code>typename</code> <code>T&gt;</code>

<code>T maxx(</code><code>const</code> <code>T &amp;v1, </code><code>const</code> <code>T &amp;v2)</code>

<code>{</code>

<code>    </code><code>return</code> <code>(v1 &gt; v2) ? v1 : v2;</code>

<code>}</code>

<code>//類模闆</code>

<code>class</code> <code>Compare</code>

<code>private</code><code>:</code>

<code>    </code><code>T a;</code>

<code>    </code><code>T b;</code>

<code>public</code><code>:</code>

<code>    </code><code>Compare(T a, T b)</code>

<code>    </code><code>{</code>

<code>        </code><code>this</code><code>-&gt;a = a;</code>

<code>        </code><code>this</code><code>-&gt;b = b;</code>

<code>    </code><code>}</code>

<code>    </code><code>T max() </code><code>const</code>

<code>        </code><code>return</code> <code>a &gt; b ? a : b;</code>

<code>};</code>

<code>int</code> <code>main()</code>

<code>    </code><code>cout &lt;&lt; </code><code>"max(3, 5): "</code> <code>&lt;&lt; maxx(3, 5) &lt;&lt; endl;</code>

<code>    </code><code>Compare&lt;</code><code>int</code><code>&gt; cmp(3, 5);</code>

<code>    </code><code>cout &lt;&lt; </code><code>"cmp.max: "</code> <code>&lt;&lt; cmp.max() &lt;&lt; endl;</code>

<code>    </code><code>return</code> <code>0;</code>

運作截圖:

*** walker ***

本文轉自walker snapshot部落格51CTO部落格,原文連結http://blog.51cto.com/walkerqt/1332500如需轉載請自行聯系原作者

RQSLT

繼續閱讀