-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPointers_to_derived_class.cpp
38 lines (31 loc) · 1.21 KB
/
Pointers_to_derived_class.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
#include<iostream>
using namespace std;
class BaseClass {
public:
int var_base;
void display(){
cout << "Displaying base class variable var_base "<<var_base << endl;
}
};
class DerivedClass : public BaseClass {
public:
int var_derived;
void display(){
cout << "Displaying base class variable var_base "<<var_base << endl;
cout<<"Displaying derived class variable var_derived "<<var_derived << endl;
}
};
int main() {
BaseClass * base_class_pointer;
BaseClass obj_base;
DerivedClass obj_derived;
base_class_pointer = &obj_derived; // base_class_pointer is pointing to DerivedClass object.
base_class_pointer->var_base = 23;
// base_class_pointer->var_derived = 23; // Error: var_derived is not accessible from base_class_pointer.
base_class_pointer->display(); // calling display() function of DerivedClass object.
DerivedClass * derived_class_pointer;
derived_class_pointer = &obj_derived; // derived_class_pointer is pointing to DerivedClass object.
derived_class_pointer->var_derived = 98;
derived_class_pointer->display(); // calling display() function of DerivedClass object.
return 0;
}