virtual void setName(string & name) { delete _name; _name = new string(name); }
virtual void setName(const string & name) { delete _name; _name = new string(name); }
		virtual void setName(string & name) { delete _name; _name = new string(name); }