This code is for demonstrating the use of pointers in class reference.But, there is no such thing made to print some change in value of "c".
You initialized a variable named "c" as integer with value 0.Then, you created a reference of class "_byte4" in main() function named "dd".
it calls the constructor "_byte4(_byte4* p)" and initializes the four members. these variables of type _byte
therefore, these four members can referenced to public members of class _byte.
dd->byte0->bit0 = 1;
If you remove those members then the upper code line will be a null pointer reference. thus, your code will not run.