[ create a new paste ] login | about

Link: http://codepad.org/4oo53bHt    [ raw code | fork ]

C++, pasted on Mar 21:
#include <vector>

class A
{
  public:
      A() : m_base(0){}
      virtual ~A(){}
      virtual void set(int n){m_base = n;}
      virtual int get() const {return m_base;}
  private:
      int m_base;
};

class B : public A
{
  public:
     B() : m_derived(0){}
     void set(int n){ m_derived = n;}
     int get() const {return m_derived;}
   private:
      int m_derived;
};

struct Comparartor
{
  bool operator()(A* first, A* second) const
  {
    return first->get() < second->get();
  }
};

int main()
{
  A* a[2];
  A a1;
  a1.set(10);

  B b1;
  b1.set(20);

  a[0] = &a1;
  a[1] = &b1;

  std::sort(a, a+2, Comparartor());
}


Output:
No errors or program output.


Create a new paste based on this one


Comments: