class ReferenceSec;
class Archive;
class MicroFicheFiles;
class Documents;
class Book;

typedef int boolean;
const boolean true = 1;
const boolean false = 0;

class MicroFicheFiles {
public:
  boolean search(Book* book) {}
};

class Documents {
public:
  boolean search(Book* book) {}
};

class Archive {
public:
  MicroFicheFiles* m; // **
  Documents* d;       // **
  boolean search_good_style(Book* book) {
    return
      (m->search(book)) ? true :
	d->search(book);
//	(d->search(book)) ? true : false;
  }
};

class ReferenceSec {
public:
  Archive* a;
  boolean search_bad_style(Book* book) {
    return
      (a->m->search(book)) ? true :
        a->d->search(book);
//        (a->d->search(book)) ? true : false;
  }
  boolean search_good_style(Book* book) {
    return a->search_good_style(book);
  }
};

class Book {
};
  
main() {
}



