The this pointer is a pointer that points to the object itself. It is an implicit pointer available in all member functions of a class. Some of the features of the this pointer are:
- It can be used to refer to the calling object inside a member function.
- It can be used to return the calling object from a member function.
- It can be used to pass the calling object as an argument to another function.
Here's an example program that demonstrates the use of constructor in a derived class:
using namespace std;
class Base {
int x;
public:
Base(int i) {
x = i;
cout << "Base constructor called" << endl;
}
void display() {
cout << "x = " << x << endl;
}
};
class Derived : public Base {
int y;
public:
Derived(int i, int j) : Base(i) {
y = j;
cout << "Derived constructor called" << endl;
}
void display() {
Base::display();
cout << "y = " << y << endl;
}
};
int main() {
Derived obj(10, 20);
obj.display();
return 0;
}
In this program, there are two classes Base and Derived. Derived is derived from Base. The Base class has a constructor that takes an integer as an argument and initializes its private member x. The Derived class also has a constructor that takes two integers as arguments. It calls the Base class constructor explicitly in its initializer list to initialize the x member. It then initializes its private member y. The Derived class also has a display function that overrides the display function of the Base class. It calls the display function of the Base class using the scope resolution operator and then displays the value of y.
In the main function, an object of Derived class is created and its display function is called. The output of the program is:
Derived constructor called
x = 10
y = 20
This program demonstrates how constructors can be used in a derived class to initialize the base class and derived class members.
No comments:
Post a Comment
If you have any doubts, please let me know