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

#ifndef _BASE_1_INCLUDED_
#define _BASE_1_INCLUDED_

class Base1
{
private:
        int x, y;
public:
        //Constructori ...
        Base1(void);
        Base1(Base1 const &);
        Base1(int, int);
        //Destructor.
        virtual ~Base1();
        //Supradefinirea unor operatori.
        Base1 & operator =(Base1 const &);
        Base1 operator +(Base1 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 &, Base1 &);
        friend ostream & operator <<(ostream &, Base1 const &);
};

#endif
