我們已經知道,對象是類的實例。對象是屬于某個已知的類。因此,定義對象之前,一定要先定義好該對象的類。下面簡單的介紹對象的定義。
對象的定義格式
對象在確定了它的類以后,其定義格式如下:
<類名><對象名表>
其中,<類名>是待定的對象所屬的類的名字,即所定義的對象是該類類型的對象。<對象名表>中可以有一個或多個對象名,多個對象名時用逗號分隔。<對象名表>中,可以是一般的對象名,還可以是指向對象的指針名或引用名,也可以是對象數組名。如:
TDate date1, date2, *Pdate, date[31];
對象成員的表示方法
一個對象的成員就是該對象的類所定義的成員。對象成員有數據成員和成員函數,其表示方式如下:
<對象名>.<成員名>
或者
<對象名>.<成員名>(<參數表>)
前者用來表示數據成員的,后者用來表示成員函數的。如:
date1.year, date1.month, date1.day;
date1.SetDate(int y, int m, int d);
這里,·是一個運算符,該運算符的功能是表示對象的成員。
指向對象的指針的成員表示如下:
<對象指針名>-><成員名>
或者
<對象指針名>-><成員名>(<參數表>)
這里的->是一個表示成員的運算符,它與前面講過的·運算符的區別是,->用來表示指向對象的指針的成員,而·用來表示一般對象的成員。同樣,前者表示數據成員,而后才表示成員函數。
下面的兩種表示是等價的:
<對象指針名>-><成員名>
與
(*<對象指針名>).<成員名>
這對于成員函數也適用。如:
Pdate->year, Pdate->month, Pdate->day;
或者
(*Pdate).year, (*Pdate).month, (*Pdate).day;
Pdate->SetDate(int y, int m, int d);
或者
(*Pdate).SetDate(int y, int m, int d);
另外,引用對象的成員表示與一般對象的成員表示相同。
由同一個類所創建的對象的數據結構是相同的,類中的成員函數是共享的。兩個不同的對象的名字是不同的,它們的數據結構的內容(即數據成員的值)是不同的。因此,系統對已定義的對象僅給它們分配數據成員變量,而一般數據成員又都為私有成員,不同對象的數據成員的值可以是不相同的。