вот перегрузку по типу возвращаемого значения можно запросто можно сделать. вопрос, а можно ли красиво перегрузить operator →()?
что значит — красиво?
то и значит, чтобы справа от стрелочки можно было писать мемберы любого из перегруженных классов
что значит — красиво?
то и значит, чтобы справа от стрелочки можно было писать мемберы любого из перегруженных классов