//Semestranlni prace z CPP ver 0.1
#include <vector>
#include <iostream>
#include <string>
using namespace std;


class SA {
public:
string jmeno;
  typedef std::vector<SA*> tResult;
  virtual void find(string name, tResult& result) = 0;
  string get_name() {return jmeno;}
  virtual ~SA() {};
};

class Adresar : public SA {
public:
    Adresar(string xjmeno);
   virtual void find(string name, tResult& result);
   ~Adresar() {};
};

class Soubor : public  SA {
public:
   Soubor(string xjmeno);
   virtual void find(string name,tResult& result);
   ~Soubor() {};
};
//typedef Container::iterator Iter;
Adresar::Adresar(string xjmeno) {
jmeno=xjmeno;
}

void Adresar::find(string name, tResult& result) {
}

Soubor::Soubor(string xjmeno) {
jmeno=xjmeno;
}

void Soubor::find(string name, tResult& result) {
}

int main() {
Adresar B("iq");
Soubor C("hugo");
string c(B.get_name);
{

cout << "hu" << c << endl;
}


//  Container shapes;
//  shapes.push_back(new Circle);
//  shapes.push_back(new Square);
//  shapes.push_back(new Triangle);
//  for(Iter i = shapes.begin();
//      i != shapes.end(); i++)
//    (*i)->draw();
  // ... Sometime later:
//  for(Iter j = shapes.begin();
//      j != shapes.end(); j++)
//    delete *j;
} ///:~
