I have simple sample:
#include <iostream>
class parent {
public:
int i;
};
class child : public parent {
public:
int d;
};
int main() {
child c;
std::cout << c.d << std::endl;
return 0;
}
but all ints in c (int d; and int i;) are not initialized.

What is wrong with it? Or I do not see something obvios?
There is a difference between default and zero initialization done on classes with no constructor and basic types:
More detailed explanation:
here: https://stackoverflow.com/a/7546745/14065
here: https://stackoverflow.com/a/8280207/14065