#include <iostream.h>
#include "debug.hpp"

#ifndef _BASE_2_INCLUDED_
#define _BASE_2_INCLUDED_

class Base2
{
private:
        int x, y;
public:
        //Constructori ...
        Base2(void);
        Base2(Base2 const &);
        Base2(int, int);
        //Destructor.
        virtual ~Base2();
        //Supradefinirea unor operatori.
        Base2 & operator =(Base2 const &);
        Base2 operator +(Base2 const &) const;
        //Operatorul functie (adica ()) declarat ca virtual.
        virtual int operator ()(int);
        //Operatorul declarat virtual este supradefinit fara a fi virtual
        int operator ()(int, int);
        //Supradefinirea operatorilor de extractie si insertie.
        friend istream & operator >>(istream &, Base2 &);
        friend ostream & operator <<(ostream &, Base2 const &);
};

#endif
