当我们在C ++中使用变量时,它是什么意思,就像一个默认值作为参数的函数一样?

时间:2015-04-24 17:25:49

标签: c++

我正在阅读C ++代码行。我遇到了一个奇怪的代码行,其中一个变量被用作一个函数,其中0作为参数!

template <class T> class Stack {
    T data[50];
    int nElements;
public:
//This line is where the variable was used like a function!
    Stack() : nElements(0){}
    void push(T elemen);
    T pop();
    int tamanho();
    int isEmpty();
};

那么当我们拥有时,究竟意味着什么:  构造函数:私有变量(0){}

这段代码对我来说非常奇怪! 感谢

3 个答案:

答案 0 :(得分:2)

这称为initializer list

答案 1 :(得分:2)

Stack的{​​{1}}构造函数中,类成员nElements在创建每个Stack对象时初始化为零值。

0在这里没有任何特殊含义,除了将Stack的元素的初始数量设置为零并且为空时。

答案 2 :(得分:1)

这称为'初始化程序'。它是说用给定的值初始化变量,而{}表示构造函数的主体是空的。