To avoid unnecessary copying, the std::string objects should be passed by (const) reference. Also, since those member functions do not modify the observable state of the CWanderer object, they should be declared as const:
Code:
void showStuff(const std::string& s, int i) const;
void showStuff(const std::string& t, double d) const;
Code:
void CWanderer::showStuff(const string& s, int i) const
{
cout << s << i << endl;
}
void CWanderer::showStuff(const string& t, double d) const
{
cout << t << d << endl;
}
Of course, since they do not actually involve CWanderer (they operately entirely based on the arguments passed), they should be non-member functions, by right.
Another thing: using declarations and directives should almost never be in header files. As such, remove the "using namespace std;" directive from CWanderer.h and then fully qualify names from the std namespace, like how I have edited my example in this post.