6.2 對(duì)象的定義
1對(duì)象的定義
對(duì)象是類的實(shí)例,一個(gè)對(duì)象必須屬于一個(gè)已知的類。因此在定義對(duì)象之前,必須先定義該對(duì)象所屬的類。
對(duì)象的定義格式如下:
<類名><對(duì)象名>(<參數(shù)表>);
其中,<類名>是待定義的對(duì)象所屬的類的名字。<對(duì)象名>中可以有一個(gè)或多個(gè)對(duì)象名,多個(gè)對(duì)象名之間用逗號(hào)分隔。<對(duì)象名>中,可以是一般的對(duì)象名,也可以是指向?qū)ο蟮闹羔樏蛞妹,還可以是對(duì)象數(shù)組名。<參數(shù)表>是初始化對(duì)象時(shí)需要的,建立對(duì)象時(shí)可以根據(jù)給定的參數(shù)調(diào)用相應(yīng)的構(gòu)造函數(shù)對(duì)對(duì)象進(jìn)行初始化。無(wú)參數(shù)時(shí)表示調(diào)用類的缺省構(gòu)造函數(shù)。
2對(duì)象的成員
一個(gè)對(duì)象的成員就是該對(duì)象的類所定義的成員,包括數(shù)據(jù)成員和成員函數(shù)。定義了對(duì)象后,可以使用“ .”運(yùn)算符和“->”運(yùn)算符訪問(wèn)對(duì)象的成員。其中,“ .”運(yùn)算符適用于一般對(duì)象和引用對(duì)象,而“->”運(yùn)算符適用于指針對(duì)象(即指向?qū)ο蟮闹羔?。訪問(wèn)對(duì)象成員的一般格式如下:
<對(duì)象名> .<數(shù)據(jù)成員名>或<對(duì)象名>-><數(shù)據(jù)成員名>
<對(duì)象名> .<成員函數(shù)名>(<參數(shù)表>)或<對(duì)象名>-><成員函數(shù)名>(<參數(shù)表>)
6.3 構(gòu)造函數(shù)和析構(gòu)函數(shù)
1構(gòu)造函數(shù)和析構(gòu)函數(shù)的定義。構(gòu)造函數(shù)的作用是在對(duì)象被創(chuàng)建時(shí)利用特定的值構(gòu)造對(duì)象,將對(duì)象初始化為一種特定的狀態(tài),使該對(duì)象具有區(qū)別于其他對(duì)象的特征。構(gòu)造函數(shù)在對(duì)象被創(chuàng)建的時(shí)候由系統(tǒng)自動(dòng)調(diào)用。
構(gòu)造函數(shù)也是類的成員函數(shù),但它是一種特殊的成員函數(shù),它除了具有一般成員函數(shù)的特性之外,還具有一些特殊的性質(zhì):
(1)構(gòu)造函數(shù)的名字必須與類名相同;
(2)構(gòu)造函數(shù)不指定返回類型,它隱含有返回值,由系統(tǒng)內(nèi)部使用;
(3)構(gòu)造函數(shù)可以有一個(gè)或多個(gè)參數(shù),因此構(gòu)造函數(shù)可以重載;
(4)在創(chuàng)建對(duì)象時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用構(gòu)造函數(shù)。
2缺省構(gòu)造函數(shù)和缺省析構(gòu)函數(shù)
缺省構(gòu)造函數(shù)就是調(diào)用時(shí)不必提供參數(shù)的構(gòu)造函數(shù)。缺省的構(gòu)造函數(shù)的函數(shù)名與類名相同,它的參數(shù)表或者為空,或者它的所有參數(shù)都具有默認(rèn)值。前面日期類Date的定義中,構(gòu)造函數(shù)Date(int y=2000);就是缺省構(gòu)造函數(shù)。
如果類中定義了一個(gè)缺省構(gòu)造函數(shù),則使用該函數(shù);如果一個(gè)類中沒(méi)有定義任何構(gòu)造函數(shù),編譯器將生成一個(gè)不帶參數(shù)的公有缺省構(gòu)造函數(shù),它的定義格式如下:
<類名>::<類名>()
{
}
每個(gè)類都必須有一個(gè)析構(gòu)函數(shù)。如果一個(gè)類沒(méi)有聲明析構(gòu)函數(shù),編譯器將生成一個(gè)公有的析構(gòu)函數(shù),即缺省析構(gòu)函數(shù),它的定義格式如下:
<類名>::~<類名>()
{
。
3拷貝構(gòu)造函數(shù)
類中有一種特殊的構(gòu)造函數(shù)叫做拷貝構(gòu)造函數(shù),它用一個(gè)已知的對(duì)象初始化一個(gè)正在創(chuàng)建的同類對(duì)象?截悩(gòu)造函數(shù)的一般格式如下:
<類名>::<類名>(const<類名>&<引用對(duì)象名>)
{
//拷貝構(gòu)造函數(shù)體
}
拷貝構(gòu)造函數(shù)具有以下特點(diǎn):
(1)也是一種構(gòu)造函數(shù),因此函數(shù)名與類名相同,并且不能指定函數(shù)返順類型。
(2)只有一個(gè)參數(shù),是對(duì)同類的某個(gè)對(duì)象的引用。
(3)每一個(gè)類中都必須有一個(gè)拷貝構(gòu)造函數(shù)。如果類中沒(méi)有聲明拷貝構(gòu)造函數(shù),編譯器會(huì)自動(dòng)生成一個(gè)具有上述形式的公有的拷貝構(gòu)造函數(shù)。
編輯推薦:
2014年上半年計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間預(yù)告
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |