天天看點

c++類外定義

1、頭檔案類外定義

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

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

<code>#include&lt;stdlib.h&gt;</code>

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

<code>class</code> <code>Teacher</code>

<code>{</code>

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

<code>    </code><code>void</code> <code>setName(string _name);</code>

<code>    </code><code>string getName();</code>

<code>    </code><code>void</code> <code>setGender(string _gender);</code>

<code>    </code><code>string  getGender();</code>

<code>    </code><code>void</code> <code>setAge(</code><code>int</code> <code>_age);</code>

<code>    </code><code>int</code> <code>getAge();</code>

<code>    </code><code>void</code> <code>teach();</code>

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

<code>string m_strName;</code>

<code>string  m_Gender;</code>

<code>int</code> <code>m_iAge;</code>

<code>};</code>

<code>void</code> <code>Teacher::setName(string _name)</code>

<code>     </code><code>m_strName=_name;</code>

<code>}</code>

<code>string Teacher::getName()</code>

<code>    </code><code>return</code> <code>m_strName;</code>

<code>void</code> <code>Teacher::setGender(string _gender)</code>

<code>m_Gender=_gender;</code>

<code>string  Teacher::getGender()</code>

<code>    </code><code>return</code> <code>m_Gender;</code>

<code>void</code> <code>Teacher::setAge(</code><code>int</code> <code>_age)</code>

<code>    </code><code>m_iAge =_age;</code>

<code>int</code> <code>Teacher::getAge()</code>

<code>    </code><code>return</code> <code>m_iAge;</code>

<code>  </code><code>void</code> <code>Teacher::teach()</code>

<code>cout&lt;&lt;</code><code>"上課了 上課啦"</code><code>&lt;&lt;endl;</code>

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

<code>    </code><code>Teacher t;</code>

<code>    </code><code>t.setName(</code><code>"孔子"</code><code>);</code>

<code>    </code><code>t.setGender(</code><code>"男"</code><code>);</code>

<code>    </code><code>t.setAge(31);</code>

<code>    </code> 

<code>    </code><code>cout&lt;&lt;t.getName()&lt;&lt;endl&lt;&lt;t.getGender()&lt;&lt;endl&lt;&lt;t.getAge()&lt;&lt;endl&lt;&lt;endl;</code>

<code>    </code><code>t.teach();</code>

<code>    </code><code>system</code><code>(</code><code>"pause"</code><code>);</code>

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

運作結果:

<a href="https://s4.51cto.com/wyfs02/M01/05/BD/wKiom1mraOPBjvDHAAAIoxF9N_o008.png" target="_blank"></a>

主要就是先在類内部進行聲明,然後就是在類外進行定義。注意定義的時候的格式:

<code>類名Teacher::+函數  代表這個函數是該類中的資料成員</code>

<code>2、分檔案類外定義</code>

<a href="https://s2.51cto.com/wyfs02/M01/A4/7D/wKioL1msttiCpyNrAABtVZA9nVw857.png" target="_blank"></a>

如下圖所示,右擊頭檔案,添加建立項。裡面包含的内容:類聲明

<a href="https://s1.51cto.com/wyfs02/M00/05/CC/wKiom1mst6Cg_kOrAAA3xJdpdNw371.png" target="_blank"></a>

右擊源檔案,類中聲明的各函數的定義 添加建立項:

<a href="https://s1.51cto.com/wyfs02/M01/A4/7D/wKioL1msuA-xHYxzAABA47l9EdQ980.png" target="_blank"></a>

此時主函數隻負責調用和賦初值。

<a href="https://s1.51cto.com/wyfs02/M00/05/CC/wKiom1msuJ6wFgDKAAAqX6XPbEQ044.png" target="_blank"></a>

運作的結果與頭檔案類外定義一樣。

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

繼續閱讀