initialization failure

Example by: Ira Oldham, References: Savitch eighth edition, section 10.2; Gaddis seventh edition, section 13.7

An initialization list only works with public member data, but not with private member data.

1  class A
2  {
3  public:
4    int x;
5  };
6  class B
7  {
8    int y;
9  };
10 int main(void)
11 {
12 A d = {3};
13 // B e = {4}; FAILS - CANNOT INITIALIZE PRIVATE DATA
14 return 0;
15 }

An object that has private data cannot be initialized with an initialization list.