 <p>To be correct - to implement special member function (constructor/ copy constructor), because only in that methods can be used member initialization syntax(You have mentioned it as 1-st way). It is used for initialization of objects on creation. Second way is used for assignment of values to already created objects, which can be less efficient (especially for complex objects)</p>