-
Notifications
You must be signed in to change notification settings - Fork 0
/
Inheritance.cpp
52 lines (46 loc) · 1.08 KB
/
Inheritance.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
using namespace std;
// Base class
class Employee
{
public:
int id;
float salary;
Employee() {}
Employee(int i)
{
id = i;
salary = 24.02;
}
};
// Private members of base class can never inherited DIRECTLY.
// 1st Method: To access the private member of base class INDIRECTLY - make get_data(){return id;} and then call get_data where you need it's value
// 2nd Method: Protected ----> a private variable that can be inherited in derived classes (it's table is written in the copy)
// Public: Public Members of base ----> public members of derived
// Private: Public Members of base ----> public members of derived
// Derived class
class Programmer : public Employee
{
public:
int lang = 4;
Programmer(int i)
{
id = i;
}
void get_data()
{
cout << id;
}
};
int main()
{
Employee Daniyal(1);
Employee Minhal(2);
cout << Daniyal.salary << endl;
cout << Minhal.salary << endl;
Programmer harry(7);
harry.get_data();
cout << endl;
cout << harry.lang << endl;
return 0;
}