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.
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- Static data members in C++
- Memory Allocation in 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++
- Implicit initialization of variables with 0 or 1 in C
- Initialization of static variables in C
- Initialization of a multidimensional arrays in C/C++
- Flexible Array Members in a structure in C
- Initialization of global and static variables in C
- Are array members deeply copied?
- Initialization of variables sized arrays in C
- Different ways to Initialize all members of an array to the same value in C
- C++ Program to swap two members using Friend Function
- Difference between fundamental data types and derived data types
- Data Types in C
- C++ Data Types
- std::string::data() in C++
- What is the size_t data type in C?
- Is there any need of "long" data type in C and C++?