2012-09-22 108 views
-1

對不起,模糊的標題。我對一個需要一些C++知識的項目感興趣。我沒有學習C++,也沒有時間閱讀一本書。所以我希望有人能夠給我一個起點來查找它。在這段代碼中冒號「:」的含義和用法是什麼?

下面是代碼:

TurtlebotTeleop::TurtlebotTeleop(): ph_("~"), linear_(1),angular_(0){ 
    ph_.param("axis_linear", linear_, linear_); 
    ph_.param("axis_angular", angular_, angular_); 
    ph_.param("axis_deadman", deadman_axis_, deadman_axis_); 
    ph_.param("scale_angular", a_scale_, a_scale_); 
    ph_.param("scale_linear", l_scale_, l_scale_); 
} 

我知道,這一塊的代碼定義一個方法「TurtlebotTeleop」。但冒號後面是什麼東西?:「?

非常感謝您的任何輸入。

+0

請參閱[本](http://www.learncpp.com/cpp-tutorial/101-constructor-initialization-lists/)。 – Lazer

回答

3

這是一個構造函數初始化列表。這是初始化類的數據成員的語法。

「代碼塊」是默認構造函數TurtlebotTeleop的定義。 :{之間的內容是該類的一些數據成員的初始化。一旦進入構造函數的主體(在{}之間),所有數據成員都有一個值,無論你對它做什麼,都會改變現有的實例,而不是初始化。

+0

我完全走錯了路。非常感謝你!! – Peng

0

該函數是您的類的構造函數,構造函數必須做的其中一件事是初始化類的每個成員。

單冒號後面的內容是初始化類成員的簡短語法。所以當這個構造函數運行時,ph_將被設置爲「〜」。

+0

感謝您的幫助。真的有用:) – Peng

相關問題