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.