Как запретить копирования указателей?
например unique_ptr , на текущий момент возможно есть лучше альтернатива
Реализуйте оператор присваивания:// Так, если хотите, чтоб они указывали на одну область:
Number& operator = (const Number& other)
{
    delete val;
    this->val = other.val;
    return *this;
}

// Так, если должна создаваться копия значения:
Number& operator = (const Number& other)
{
    delete val;
    this->val = new float(*(other.val));
    return *this;
}P. S. operator= должен возвращать ссылку на левый операнд.