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 factorial of x. [Implement the above
program by creating pointer to base in main () function and call the necessary
functions].
#include <iostream>
using namespace std;
class Question3{
public:
Question3(){}
virtual void Task(){}
virtual void getData1(){}
protected:
int x;
};
class Sub1: public Question3{
public:
Sub1():Question3(){}
void getData1(){
cout<<"Input x: ";
cin>>x;
}
void Task(){
int factorial = 1, temp = x;
if(x > 0) for(int i = 0; i < x; i++){
factorial *= (i + 1);
}
cout<<x<<"! = "<<factorial;
}
};
int main(){
Question3 *question3 = new Sub1();
question3->getData1();
question3->Task();
return 0;
}
Comments
Leave a comment