Subject: Vesa Kankare,Tuomas Kautto/demovas/demo9/3,4

From: Tuomas Mikael Kautto <[email-masked]>
Date: Tue, 22 Nov 1994 12:04:37 +0200 (EET)

Demo9 / 22.11.1994
Vesa Kankare & Tuomas Kautto

Demo 9.4

Joka luokkaan tulisi yhteens„ viisi metodia, eli olemassaoleviin kaksi
lis„„, ja jostain toisestakin luokasta pit„isi tehd„ eteenp„inviittaus.#include <stdio.h>
#include <math.h>

Demo 9.3
class nelio;

class ympyra{
  friend nelio;
  double r;
public:
  ympyra(double d=1.0) { r=d; }
  int mahtuuko(nelio &n);
  int mahtuuko(ympyra &y2)
  {
    return ( r < y2.r );
  }
};

class nelio{
  double s;
  friend ympyra;
public:
  nelio(double d=1.0) { s=d; }
  int mahtuuko(ympyra &y) {
    return (sqrt(2.0)*s/2 < y.r);
  }
  int mahtuuko(nelio &n2) {
    return ( s < n2.s );
  }
};

int ympyra::mahtuuko(nelio &n)
{
  return ( 2*r < n.s );
}

int main(void)
{
  nelio n1(2.1),n2(2.5);ympyra y1(0.9),y2(1.2);
  if ( n1.mahtuuko(y1) ) printf("Nelio 1 mahtuu ympyran 1 sisalle.\n");
  if ( y1.mahtuuko(n1) ) printf("ympyra 1 mahtuu nelion 1 sisalle.\n");
  if ( y1.mahtuuko(y2) ) printf("Ympyrat mahtuvat sis„kk„in.\n");
  if ( n1.mahtuuko(n2) ) printf("Neliot mahtuvat sisakkain.\n");
  printf("\n\n");
  return 0;

}
/* ympyra::mahtuuko metodia ei voi kirjoittaa inlineksi, koska kaantaja
   ei viel„ tunne nelio &n:n sis„lt”„.
*/