2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.law / virtual4.C
blob975b6c828e3f26e0ed2af2cb265af73a20bc860f
1 // { dg-do run  }
2 // GROUPS passed virtual-functions
3 #include <stdio.h>
4 #include <stdlib.h>
6 int aset = 0;
7 class A
9   public:
10     void Set() { SetProp(); }
11     virtual void SetProp() { aset++;}
14 class B:public A
16   public:
17     void SetProp() { if (!aset) { printf ("FAIL\n"); exit (1);} aset--;}
20 int main()
22     A a;
23     B b;
24     A *c=new A;
25     A *d=new B;
27     a.Set();
28     b.Set();
29     c->Set();
30     d->Set();
31     printf ("PASS\n");