ex5-8.cpp - Example 5-8 Mutual friends

// File: ex5-8.cpp

#include <iostream>
#include <cstring>
using namespace std;

class cat;
class dog
{
    char name[10];
  public:
    void bark(const cat&) const;
    dog(const char* n) { strcpy(name,n); }
  friend class cat;
};
class cat
{
    char name[10];
  public:
    void meow(const dog&) const;
    cat(const char* n) { strcpy(name,n); }
  friend void dog::bark(const cat&) const;
};


void dog::bark(const cat& c) const
{
  for (unsigned i = 0; i < strlen(c.name); i++) cout << " woof "; cout << endl;
}
void cat::meow(const dog& d) const
{
  for (unsigned i = 0; i < strlen(d.name); i++) cout << " meow "; cout << endl;
}


int main()
{
  dog bart("Bart");
  cat socks("Socks");
  bart.bark(socks);
  socks.meow(bart);
  return 0;
}



CIS27: Programming in C++    Instructor: Joe Bentley