Sir*_*III 0 c++ syntax constructor default-constructor
我在教科书中看到了这一点,但这本书没有解释它实际上做了什么,以及为什么我应该这样做.这与本书中的示例类似:
class MyClass
{
public:
MyClass(int initial_capacity = 20);
private:
int capacity;
}
Run Code Online (Sandbox Code Playgroud)
我不能initial_capacity在实现中使用,我甚至无法实现任何东西,所以我很困惑这是为了什么?是否以某种方式将容量设置为20?这是一个默认的构造函数?
iva*_*nyk 11
可能是错过了构造函数的实现.例如,如果构造函数看起来像这样:
MyClass(int initial_capacity = 20) {
capacity = initial_capacity;
}
Run Code Online (Sandbox Code Playgroud)
如果以这种方式创建对象:
MyClass a(10);
Run Code Online (Sandbox Code Playgroud)
容量将设置为10.另一方面,如果您将创建这样的对象:
MyClass a;
Run Code Online (Sandbox Code Playgroud)
容量将设置为20.