2014-03-02 70 views
-8
Rectangle(Point2D center, double w, double h, double r, double g, double b):center(center) 
    { 
     ... 
    } 

這段代碼的:center(center)部分是做什麼的?a:在函數聲明之後做什麼?

+0

初始化列表。去谷歌上查詢。 – Maroun

+0

它將該類所擁有的變量設置爲封裝在括號內的值。 –

+0

[相關問題](https://stackoverflow.com/questions/4589237/c-initialization-lists) – ajp15243

回答

1

:初始化center成員與center參數。

在大多數情況下(並非總是!)你的代碼

Rectangle(Point2D center, double w, double h, double r, double g, double b):center(center) 
{ 
    .... 
} 

可以用

Rectangle(Point2D center, double w, double h, double r, double g, double b) 
{ 
    this->center = center; 
    .... 
} 

代替你可以閱讀更多關於C++ here

+0

爲什麼不把中心作爲函數參數? – Programmer

+0

你應該解釋兩者的區別。 – juanchopanza

+0

我已經添加了一個關於初始化列表的鏈接來完成我的答案。 – Avt

0

它用來初始化初始化列表元素。由於C++是面向對象的,所以一切都被視爲對象,即使是數據類型。所以當你使用初始化列表時,當爲它創建對象時,對象被初始化。

這被認爲是更好(更快)的方式,然後直接分配給變量。

由於定義和聲明一氣呵成。

相關問題