You may have several class type definitions in several translation units, subject to some fairly strong restrictions, which means that the definitions should be almost identical. (3.2 [basic.def.odr])
This also applies to enumeration types, built-in functions with external communication, a class template, a non-static function template, a static data element of a class template, a member function of a class template, or a template specialization for which some template parameters are not specified.
This effectively means that you can follow the usual practice of putting the class definition in the header file and use it in several translation units, if there is no difference in the sequence included, which will lead to a sequence of markers or the value of any names used in the class definition differ between several translation units.
What you cannot have is more than one definition of a non-built-in member function of a class in an entire program.
Violations of any of these rules lead to undefined behavior, so no part of the compilation sequence is required to create diagnostics or any specific behavior, therefore, if you have two class definitions that are slightly different from each other, or can cause strange problems at runtime.
It is very likely that if you have two definitions of the function of a non-inline member of an identically named class with the same signature and that you will have errors during the link, but this is not a guarantee of the language.
It is worth noting that if two definitions for the same objects are in separate object files in libraries (identical or difference libraries), it is likely that your program will not actually include more than one definition for this object. How linkers traditionally work is that iteratively select object files that help resolve characters in a program, but they don't contain object files that don't help resolve characters. This means that after including the first object file with the definition, there is no need to include the second object file with an alternative definition.