#if !defined(TEXT_H)
#define TEXT_H

#include "Shape.h"
#include "Hashable.h"
#include "utils.h"
#include <string>

class Text: virtual public Shape, virtual public Hashable {
	private:
	    static unsigned long int count;

	    static unsigned long int total;

		const unsigned long int id;

		string text;

	public:
		Text(string text = "");

		Text(const Text* o);

		Text(const Text& o);

		virtual ~Text();

		ostream& print(ostream& os) const;

		string toString() const;

		void setText(const string& s);

		string getText();

		void moveBy(const double x, const double y);

		Text& operator= (const Text& o);

		int operator==(const Text& o) const;

		unsigned long int getObjectId() const{
			return id;
		}

		static unsigned long int getNumberOfObjects(){ //const
			return count;
		}

		int hashCode() const{
			return buildHashCode(toString());
		}
};

#endif 
Соседние файлы в папке lab1_1