To make our ongoing discussion on Inheritance a little more interesting, I have listed some problems or questions here. They all are related to Classes in general and Inheritance in particular.
Problem #1: This program contains some error(s), can you spot which line(s) contains error(s)?
1 // Problems No.1
2 // Related to Inheritance
3 #include<iostream.h>
4
5 // base class
6 class base
7 {
8 int a;
9
10 public:
11 void seta(int num){a=num;}
12 };
13
14 // derived class
15 class derived:public base
16 {
17 int b;
18
19 public:
20 void setb(int num){b=num;}
21
22 void show()
23 {
24 cout<<a<<"\n"<<b;
25 }
26 };
27
28 // main
29 void main()
30 {
31 base b;
32 derived d;
33
34 b.seta(10);
35 d.setb(100);
36
37 d.show();
38 }
Problem #2: This program contains some error(s), can you spot which line(s) contains error(s)?
1 // Problems No.2
2 // Related to Inheritance
3 #include<iostream.h>
4
5 // base class
6 class base
7 {
8 protected:
9 int a;
10
11 public:
12 void seta(int num){a=num;}
13 };
14
15 // derived class
16 class derived:protected base
17 {
18 protected:
19 int b;
20
21 public:
22 void setb(int num){b=num;}
23 void show()
24 {
25 cout<<a<<"\n"<<b;
26 }
27 };
28
29 // main
30 void main()
31 {
32 base b;
33 derived d;
34
35 b.seta(10);
36 d.setb(20);
37
38 d.show();
39
40 b.a=5;
41 d.b=10;
42
43 d.show();
44 }
Problem #3: This program contains some error(s), can you spot which line(s) contains error(s)?
1 // Problems No.2
2 // Related to Inheritance
3 #include<iostream.h>
4
5 // base class (1)
6 class base1
7 {
8 protected:
9 int a;
10 };
11
12 // base class (2) derived from
13 // base1
14 class base2:private base1
15 {
16 protected:
17 int b;
18 };
19
20 // derived from base2
21 class derived:public base2
22 {
23 public:
24 void set(int num1,int num2)
25 {
26 a=num1;b=num2;
27 }
28
29 void show()
30 {
31 cout<<a<<"\n"<<b;
32 }
33 };
34
35 void main()
36 {
37 derived d;
38 d.set(10,20);
39
40 d.show();
41 }
ANSWERS:
-
Line No. 24
-
Line No. 40 and 41
- Line No. 26 and 31
Related Articles: