1 // { dg-do run }
2 // GROUPS passed operators
3 #include <stdio.h>
4
5 class shape {
6 public:
7 virtual int vDisplay(void) const = 0;
8 protected:
9 int X;
10 int Y;
11 };
12
13 class square :public shape {
14 public:
square(int x,int y,int width_)15 square(int x, int y, int width_) {
16 X = x;
17 Y = y;
18 width = width_;
19 }
vDisplay(void)20 int vDisplay(void) const {
21 printf ("PASS\n");
22 return 0;
23 }
24 protected:
25 int width;
26 };
27
28
29 class triangle :public shape {
30 public:
triangle(int x,int y,int width_,int height_)31 triangle(int x, int y, int width_, int height_) {
32 X = x;
33 Y = y;
34 width = width_;
35 height = height_;
36 }
vDisplay(void)37 int vDisplay(void) const {
38 printf ("FAIL\n");
39 return 1;
40 }
41 protected:
42 int width;
43 int height;
44 };
45
main()46 int main() {
47 shape* s1 = new square(4,4,5);
48 shape* s2 = new triangle(6,6,2,3);
49 *s1 = *s2;
50 return s1->vDisplay();
51 }
52
53