C++ Program using virtual constructor and destructor
In this program, You will learn how to implement a virtual constructor and destructor in C++.
Test() { }
||
~Test () { }
||
virtual void draw() = 0;
Example: How to implement a virtual constructor and destructor in C++.
#include<iostream>
using namespace std;
class Shape {
public:
Shape() {
cout << "shape - constructor\n";
}
~Shape() {
cout << "shape - destructor\n";
}
virtual void draw() = 0;
};
class Rectangle : public Shape {
public:
Rectangle() {
cout << "rectangle constructor\n";
}
~Rectangle() {
cout << "rectangle destructor\n";
}
void draw() {
cout << "rectangle\n";
}
};
class Circle : public Shape {
public:
Circle() {
cout << "circle constructor\n";
}
~Circle() {
cout << "circle destructor\n";
}
void draw() {
cout << "circle\n";
}
};
int main() {
Shape* bptr;
bptr = new Rectangle();
bptr->draw();
delete bptr;
cout << "\n";
bptr = new Circle();
bptr->draw();
delete bptr;
return 0;
}
Output:
shape - constructor
rectangle constructor
rectangle
shape - destructor
shape - constructor
circle constructor
circle
shape - destructor