#include <iostream>
using namespace std;
class Payementstrategy
{
public:
virtual void execute(int amount) = 0;
virtual ~Payementstrategy()
{
}
};
class upi :public Payementstrategy
{
public:
void execute(int amount)
{
cout<<"upi payement method executed "<<amount<<endl;
}
};
class paytm :public Payementstrategy
{
public:
void execute(int amount)
{
cout<<"paytm payement method executed "<<amount<<endl;
}
};
class creditcard :public Payementstrategy
{
public:
void execute(int amount)
{
cout<<"creditcard payement method executed "<<amount<<endl;
}
};
class Payementprocessor{
private:
Payementstrategy *payemnt;
public:
Payementprocessor() : payemnt(nullptr){}
void setpayement(Payementstrategy *paymnt)
{
payemnt = paymnt;
}
void processpayement(int amt)
{
if(payemnt)
{
payemnt->execute(amt);
}
else
{
cout<<"payement not process";
}
}
};
int main() {
Payementstrategy *p = new upi();
Payementprocessor pp;
pp.setpayement(p);
pp.processpayement(100);
delete p;
p = new creditcard();
pp.setpayement(p);
pp.processpayement(100);
delete p;
return 0;
}
To embed this project on your website, copy the following code and paste it into your website's HTML: