如何为成员变量调用非默认构造函数?

时间:2016-03-03 19:24:22

标签: c++

我有一个类似这样的课程:

template<int SIZE>
class MyClass{
public:
    MyClass(int a, int b){}
}

我希望另一个类拥有MyClass的实例:

class X{
    MyClass<10>??   // How do I pass values to constructor args a and b?
}

但我不确定在将对象声明为成员变量时如何将参数传递给双参数构造函数?

1 个答案:

答案 0 :(得分:8)

如果您使用的是C ++ 11或更高版本,则可以编写

class X{
    MyClass<10> mcTen = {1, 5};
}

Demo 1.

在C ++ 11之前,您需要在构造函数的初始化列表中执行此操作:

class X{
    MyClass<10> mcTen;
    X() : mcTen(1, 5) {
    }
}

Demo 2.