C ++构造函数代码......这叫做什么?

时间:2012-08-27 10:03:20

标签: c++ constructor

这是我在程序代码中找到的:

pff::NAS::NAS( const NAS& p_Other ) 
: pff::MCCI(_T("NAS"))           //<- ?
, m_strS(_T("JustAString"))      //<- ?
, m_strK(_T("JustAString"))      //<- ?
, m_strR(p_Other.GetmystrR())    //<- ?
, m_Swap()
{ }

我的问题是: 什么是那些(//<- ?) - 标记的线?我喜欢搜索它应该做什么以及为什么执行此代码的人使用它。

4 个答案:

答案 0 :(得分:7)

它叫做初始化列表。

优秀常见问题解答http://www.parashift.com/c++-faq/init-lists.html

中的更多信息

答案 1 :(得分:4)

这称为初始化列表。它用于初始化类/结构成员变量的值。您可以在this好文章中看到更多相关信息。

答案 2 :(得分:1)

这些行正在初始化该对象的变量

pff::MCCI  (inherited)
m_strS 
m_str

答案 3 :(得分:0)

这些用于初始化课程中的字段。 这就是它的完成方式:

class MyClass{
private:
    int my_int;
public:
    MyClass(int a):my_int(a){}

my_int字段现在包含a的值。 你要做的是调用你想要初始化的字段的构造函数。