#include <iostream>
using namespace std;

class Delivery
{
   public:

    void processorder()
    {
       takeorder();
       assigndeliverypartner();
       deliverproduct();
    }

   virtual void takeorder()=0;
   virtual void assigndeliverypartner()=0;
   virtual void deliverproduct()=0;

};

class localdelivery : public Delivery
{
  public:
  void takeorder()
  {
    cout<<"Generate order id of local delivery"<<endl;
  }

  void assigndeliverypartner()
  {
    cout<<"assign delivery partner of local delivery"<<endl;
  }

  void deliverproduct()
  {
    cout<<"Product has been delivered of local delivery"<<endl;
  }

};

class internationaldelivery : public Delivery
{
  public:
  void takeorder()
  {
    cout<<"Generate order id of international delivery"<<endl;
  }

  void assigndeliverypartner()
  {
    cout<<"assign delivery partner of international delivery"<<endl;
  }

  void deliverproduct()
  {
    cout<<"Product has been delivered of international delivery"<<endl;
  }

};

int main() {

    Delivery *productdel = new localdelivery();
    productdel->processorder();

    delete productdel;

    productdel = new internationaldelivery();
    productdel->processorder();
    
    return 0;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: