/****************************************************************
example 4 - animal.h
super-simple class with "inline" member functions
****************************************************************/
#include <iostream>
#include <string>
using namespace std;
class animal {
private:
string sound;
public:
animal() {
sound = "<<silence>>";
}
animal(const string& s) {
sound = s;
}
void talk() {
cout << sound;
}
void setSound(const string& s) {
sound = s;
}
string& setSound() {
return sound;
}
friend ostream& operator<< (ostream&, const animal&);
};
ostream& operator<< (ostream& out, const animal& A) {
out << A.sound;
return out;
}