You’re confusing a couple of things here.
The #include line is a compile-time mechanism which effectively reads the file into the source at that point. It can be used (and heavily misused) for many things, but the usual thing is to put your class definition and any other “published” definitions in a .h file.
The .o file is the output of the compiler, and is an object file intended to be used by the linker (or, possibly, the link phase of your “compiler”). At link time, your .h file is no longer needed.
How both of these mechanisms work is actually system dependent. There will be some command line, environmental or configuration setting used by your compiler or IDE to determine a search path for header files (the #include lines). If the user is just invoking a command line compiler on UNIX, this search path may be specfied using “-I” options, or environment variables. If the user is using an IDE, it will have its own config settings.
The most straight-forward way in which your .o might get used is simply as an argument to the linker (or compiler which has a link phase).
If you were going to distribute these things to be used by other people, you would have to deliver the two pieces, and it would be up to the developer that was going to use them to install them in the correct places for their environment. The simplest way they might do that is to simply compile their code, which uses your interface, with appropriate flags for where to pick up your header file, and linking in your object:
gcc -I/Joe_Cool/include myfile.cpp /Joe_Cool/obj/Joes_Class.o
This allows their file to “see” your header which they placed in /Joe_Cool/include, and the resultant myfile.o is linked with your .o to produce a final executable containing both his code and yours.
In fact, you would probably have several object files to deliver, and you would probably package them into a library file. You would probably also provide either a “readme” file describing what the relevent files to use your classes are, or an install utility which would allow your stuff to be integrated with various popular IDE’s by interacting with the user and taking care of the correct configuration settings.
You might also want to distribute your stuff as a dynamic library, etc, but I don’t want to get into too much right now.