|
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