c++ initialization list for class code example

Example 1: initialization list c++

struct S {
    int n;
    S(int); // constructor declaration
    S() : n(7) {} // constructor definition.
                  // ": n(7)" is the initializer list
};

S::S(int x) : n{x} {} // constructor definition. ": n{x}" is the initializer list

int main() {
    S s; // calls S::S()
    S s2(10); // calls S::S(int)
}

Example 2: c++ class member initializer list

#include <iostream>
class Entity {
private : 
	std::string m_Name;
	int m_Score;
	int x, y, z;
public:
	Entity()
		:m_Name("[Unknown]"),m_Score(0),x(0),y(0),z(0)//initialize in the order of how var are declared
	{
	}
	Entity (const std::string& name) 
		:m_Name(name)
	{}
	const std::string& GetName() const { return m_Name; };
};
int main()
{
	Entity e1;
	std::cout << e1.GetName() << std::endl;
	Entity e2("Caleb");
	std::cout << e2.GetName() << std::endl;
	std::cin.get();
}