I am trying to understand the inner workings of a cpp code. The bit I am focusing is composed of 2 .cpp / .h. The Base class is called Ionization. The Derived class is called IonizationTunnel.
Inside IonizationTunnel.cpp I see the following:
#include "IonizationTunnel.h"
IonizationTunnel::IonizationTunnel( Params ¶ms, Species *species ) : Ionization( params, species ) {
code
code which uses params and species
code
}
I understand that it is about IonizationTunnel constructor IonizationTunnel(Params ¶ms, Species *species) which needs to be written with its ''prefix'' IonizationTunnel:: so that it is clear it is coming from IonizationTunnel class.
I do not understand the : Ionization() end-bit. Is it a call to the Base class constructor? If so, why is it there and why isn't it written as :Ionization{params, species}?
Thank you!