In C++, class variables are initialized in the same order as they appear in the class declaration.
Consider the below code.
The program prints correct value of x, but some garbage value for y, because y is initialized before x as it appears before in the class declaration.
So one of the following two versions can be used to avoid the problem in above code.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- Static data members in C++
- Can we access private data members of a class without using a member or a friend function?
- Zero Initialization in C++
- Uniform Initialization in C++
- Initialization of a multidimensional arrays in C/C++
- Initialization of static variables in C
- Implicit initialization of variables with 0 or 1 in C
- Initialization of variables sized arrays in C
- Initialization of global and static variables in C
- Flexible Array Members in a structure in C
- Different ways to Initialize all members of an array to the same value in C
- Are array members deeply copied?
- C++ Program to swap two members using Friend Function
- Difference between fundamental data types and derived data types
- C++ Data Types