You probably don't want to define global variables in header files like you do in B.h because if you include the file in more than one translation unit (.cpp file) you will get a linker error saying that myC has been defined multiple times.
If you really want to have global variables you should use an extern declaration in the header extern T1 myC;
and define it in the source file. T1 myC;
It doesn't look like myC is used anywhere in A.h so it doesn't need to include B.h.