I have a class with a default constructor which initializes many member variables via initializer lists.
I wish to have a parametrized constructor which only updates one of the member variables. A simple example is below, with name being the only variable that I would like to initialize via the default constructor.
Does it make sense to repeat the initializer list the same as for the default constructor here? Or can I call the default constructor from the parameterized constructor first?
What is the most efficient way to do this?
#include <iostream>
#include<iostream>
#include<fstream>
using namespace std;
class MyClass
{
public:
MyClass() : name("John"),
age(20),
distance(10)
// Many more default initializers
{
}
MyClass(string name)
{
// How to only initialize name with the parameter passed, while everything else still gets the default value like in the default constructor.
}
~MyClass()
{
}
private:
string name;
int age;
int distance;
// Many more
};