Do I have to initialize simple class
member variables,
No, you don't have to initialize the member variables. If you do not initialize them though, do not assume they will have any value.
If you make a test program and check in debugger how the values are initialized you may see them initialized as zeros, but that is not guaranteed. The values get initialized to whatever is in memory on the stack at that location.
or are they guaranteed to get assigned
their default values in any case?
They are not guaranteed to get assigned any value. If you have member objects the default constructors will be called for them, but for POD types there is no default initialization.
Even though you don't have to do it, it is good practice to initialize all members of your class (to avoid hard to find errors and to have an explicit representation of the initializations / constructor calls).