fix: typos
Compare changes
<div class="toc"><ul class="toc-item"><li><span><a href="#Introduction-to-base-constructor" data-toc-modified-id="Introduction-to-base-constructor-1">Introduction to base constructor</a></span><ul class="toc-item"><li><span><a href="#[WARNING]-How-to-call-a-constructor-without-argument" data-toc-modified-id="[WARNING]-How-to-call-a-constructor-without-argument-1.1"><strong>[WARNING]</strong> How to call a constructor without argument</a></span></li></ul></li><li><span><a href="#Initializing-a-reference-data-attribute" data-toc-modified-id="Initializing-a-reference-data-attribute-2">Initializing a reference data attribute</a></span></li><li><span><a href="#Delegating-constructor" data-toc-modified-id="Delegating-constructor-3">Delegating constructor</a></span></li><li><span><a href="#Default-constructor" data-toc-modified-id="Default-constructor-4">Default constructor</a></span></li><li><span><a href="#Good-practice:-provide-in-the-data-attribute-declaration-a-default-value" data-toc-modified-id="Good-practice:-provide-in-the-data-attribute-declaration-a-default-value-5">Good practice: provide in the data attribute declaration a default value</a></span></li><li><span><a href="#Good-practice:-define-the-attribute-in-the-same-order-they-are-defined" data-toc-modified-id="Good-practice:-define-the-attribute-in-the-same-order-they-are-defined-6">Good practice: define the attribute in the same order they are defined</a></span></li><li><span><a href="#Good-practice:-use-explicit-constructors-by-default" data-toc-modified-id="Good-practice:-use-explicit-constructors-by-default-7">Good practice: use <code>explicit</code> constructors by default</a></span></li><li><span><a href="#Destructor" data-toc-modified-id="Destructor-8">Destructor</a></span><ul class="toc-item"><li><span><a href="#Default-destructor" data-toc-modified-id="Default-destructor-8.1">Default destructor</a></span></li></ul></li></ul></div>
```
```
```
```
```
There is a technicality for constructor without arguments: they must be called without parenthesis (the reason is a possible confusion with a [functor](../3-Operators/5-Functors.ipynb) - see Item 6 of \cite{Meyers2001} or [this blog post](https://www.fluentcpp.com/2018/01/30/most-vexing-parse/) if you want to learn more about the reasons of this):
```
```
```
```
```
```
```
```
```
```
```
```
```
```
```
```
```
```
```
```
```
You are therefore supposed to define explicitly all the data attributes in all of your constructors. It was easy to get trumped by this in C++98/03: if you added a new data attribute and forgot to initialize it in one of your constructor, you would have undefined behaviour that is one of the worst bug to track down! (as on your machine/architecture you may have a "good" behaviour haphazardly).
```
```
```
```
```
```
```
```
```
```
```
```
```
```
```
```
```
```