<string.h> (also available as <cstring>) is a C header that declares functions that work on C strings (i.e. 0-terminated char*s). The std::string class is defined in <string>. You'll also need to refer to it as std::string as it's located in that namespace.

Remove #include <string.h> and replace with #include <string>
As the string object is in the std namespace, you can either replace all functions and variables in the Dog class that contain string to std::string
or
put using std::string; before the Dog class.