#include <iostream>
using namespace std;

//Adaptee
class Analytictool
{
   public:
   string jsondata;
   
   virtual void setdata(string pjsondata)=0;
   virtual void analyze()=0;
};

class jsonanalytictool :public Analytictool
{
   public:
   void setdata(string pjsondata)
   {
    jsondata = pjsondata;
   }

   void analyze()
   {
       if(jsondata.find("json") != string::npos)
       {
          cout << "Analyzed json data "<<jsondata<<endl;
       }
       else
       {
           cout<<"Not a correct file"<<endl;
       }      
   }
};


class Adapter {
  public:
  virtual void validatefile()=0;
};

class xmltojsonadapter : public Adapter 
{
  Analytictool *analytictool;
  public:

   xmltojsonadapter(string xmldata)
   {
      cout<<"converting xmldata to json data"<<endl;
      string newdata = xmldata+"_to_json";
      analytictool = new jsonanalytictool();
      analytictool->setdata(newdata);
   }

   void validatefile() 
   {
     analytictool->analyze();
   }
};



int main() {

    string data = "xml_data";
    Adapter *adapt = new xmltojsonadapter(data);
    adapt->validatefile();
    return 0;
}

Embed on website

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