C++ Point對(duì)象

2023-03-20 15:56 更新

作為一個(gè)復(fù)合結(jié)構(gòu)的簡單例子,可以考慮數(shù)學(xué)中點(diǎn)的概念。在一個(gè)層面上,點(diǎn)是我們以之作為一個(gè)對(duì)象的兩個(gè)數(shù)字,即坐標(biāo)。在數(shù)學(xué)符號(hào)中,點(diǎn)用括號(hào)中以逗號(hào)分隔的坐標(biāo)表示。例如,(0,0)表示原點(diǎn),(x,y)表示該點(diǎn)從原點(diǎn)起向右x個(gè)單位,向上y個(gè)單位。

在C++中,點(diǎn)可以很自然地以兩個(gè)double表示。那么,問題是如何把這兩個(gè)值組合成一個(gè)復(fù)合對(duì)象或結(jié)構(gòu)呢?答案是結(jié)構(gòu)體定義:

struct Point { 
   double x, y;
};

結(jié)構(gòu)體定義出現(xiàn)在任何函數(shù)定義的外面,通常是在程序的開頭(include語句之后)。

該定義表明,這個(gè)結(jié)構(gòu)中體中有兩個(gè)元素,分別命名為x和y。這些元素稱為實(shí)例變量,原因我稍后將作出解釋。

忘掉結(jié)構(gòu)體定義末尾的分號(hào)是一種常見錯(cuò)誤。在大括號(hào)之后放置一個(gè)分號(hào)可能很奇怪,但你會(huì)習(xí)慣的。

定義了新的結(jié)構(gòu)體之后,就可以使用該類型創(chuàng)建變量了:

Point blank; 
blank.x = 3.0; 
blank.y = 4.0;

第一行是常見的變量聲明:blank是Point類型。接下來的兩行初始化結(jié)構(gòu)體的實(shí)例變量。 這里使用的點(diǎn)記號(hào)與對(duì)象上調(diào)用函數(shù)的語法類似,如fruit.length()中的用法。當(dāng)然,不同的是,函數(shù)名后面總是跟著一個(gè)參數(shù)列表,即使列表為空。

賦值的結(jié)果可以用下面的狀態(tài)圖表示: enter image description here

照例,變量名blank在框外,而變量的值在框內(nèi)。這里,這個(gè)值是一個(gè)復(fù)合對(duì)象,它由兩個(gè)有名字的實(shí)例變量構(gòu)成。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)