Write a program to create a base class: “Question3”, with protected data member: x (int) and with pure virtual function: “Task ()” [Returns no value and takes no argument]. Create a derived class of “Question3” such as “Sub1” (Derive features in public mode). In sub1, there is a member function in public section: get_data1 () to take input for x, and define Task () in this class to display the reverse of x. [Implement the above program by creating pointer to base in main () function and call the necessary functions].
#include <iostream>
using namespace std;
//superclass
class Question3
{
protected:
int x;
public:
virtual void Task()=0; //virtual method Task()
};
//child class Sub1
class Sub1:public Question3
{
public:
//method to input the value of x
void get_data1(){
cout<<"\nEnter a value for x: ";
cin>>x;
}
//definition of the pure virtual method
void Task()
{
int reverse=0, rem;
while(x!=0)
{
rem=x%10;
reverse=reverse*10+rem;
x/=10;
}
cout<<"The reverse is: "<<reverse<<endl;
}
};
int main()
{
Question3 *qusObj; //pointer to the baseclass
Sub1 sub;
qusObj=⊂
//call the child class method
static_cast<Sub1*>(qusObj)->get_data1();
qusObj->Task();
return 0;
}
Comments
Leave a comment