UGameUserSettings. Calling virtual function from constructor

Hi, i try to explain on the simple example:

#include <stdio.h>

class A
{
public:

	A() 
	{ 
		SetToDefaults(); 
	}
	
	virtual void SetToDefaults()
	{
		printf("A::SetToDefaults \n");
	}
};

class B : public A
{
public:

	B() : A() {  }

	virtual void SetToDefaults() override
	{
		A::SetToDefaults();
		printf("B::SetToDefaults \n");
	}
};

void main(int argc, char* argv[])
{
	B b;
}

We expect to see:

A::SetToDefaults
B::SetToDefaults

But we really will see only:

A::SetToDefaults

The same error may bee in the UGameUserSettings.