Header files are not a compilation unit (they are not compiled by themselves, but just included in other files), so setting the type does not have any influence on compilation.
If you include the header from some C++-compiled file, it will be compiled with C++ compiler. Similarly, if you include the exactly the same header file from Objective-C file, it will be compiled with Objective-C compiler.