{
private:
char id;
int width,height;
宣告私有的private標籤的參數,char型別的id,int型別的width,height。
char id的char和id中間有一個空白鍵,如果寫成charid電腦怎麼會知道是char型別的id。
public:
宣告公開的public標籤的函數set_member及area
void set_member(char i,int w,int h)
函數set_member有3個傳入引數(或參數),用逗點符號隔開,char i的char和i中間有一個空白鍵。
{
id=i;
width=w;
height=h;
一旦呼叫函數set_member()並在()裡依序放入char i,int w,int h則3個傳入引數值會分別設定給private標籤的參數,char型別的id,int型別的width,height。
}
int area(void)
area函數回傳型別是int,函數裡頭是void(沒有或不用傳入引數或參數)。
{
return width*height;
return是指回傳什麼東西,在這裡是指width乘以height的int值。
}
friend void largest(Cwin [],int);
這裡宣告(還沒定義裡面內容)了一個friend函數largest,回傳值型態是void(沒有回傳值),傳入的引數(或參數)是類別Cwin []陣列物件及一個int型別引數。
};
class CWin的大括號到這裡結束,大括號的意思是把你的程式碼敘述包起來,每個敘述結束都要有一個;。
void largest(CWin win[],int n)
函數largest定義傳入的引數設定是CWin類別物件win[](只要是以類別或struct型態宣告的就是物件,物件及參照存取成員用點.運算子,指標存取成員用箭號->運算子),因此你在待會的主函式main裡,如果呼叫函數largest,傳給它的()裡的東西也要和函數largest定義一樣,因此你不可以函數定義傳入的引數型態是int,卻在呼叫該函數時傳給它的引數是型態double。
{
}
int main(void)
所有程式的執行從main開始,當呼叫到上方的程式碼敘述就會跳到上方執行。
{
CWin win[3];
宣告CWin類別陣列物件win,在宣告的同時就會跑到上方class CWin裡頭預設的建構式實體化(有些章節會教你自己定義類別裡的各種建構式)。win[3]代表陣列編號從0開始,編號0、1、2共3個陣列物件。
win[0].set_member('A',60,70);
意思是用編號0的win[0]物件存取呼叫函數set_member,並傳給函數set_member('A',60,70)這3個值來設定物件的欄位。
對應到函數set_member的引數設定就是char i='A',int w=60,int h=70。
largest(win,3);
意思是呼叫函數largest,並傳給函數一個win物件及一個int型態的值3。
對應到函數largest的引數設定就是CWin win[]=win(引數設定名稱及傳入名稱一模一樣沒關係),int n=3。
}