Вы должны сделать что-то вроде этого
operator Class2() const
{
Class2 tmp;
...
return tmp;
}
Тогда, если у вас есть что-то вроде этого
Class1 c1;
Class2 c2 = c1;
, память для tmp
будет выделена в стеке, тогда конструктор копированияиз Class2
будет вызван для копирования tmp
в c2
, а затем будет вызван деструктор tmp
, поскольку это автоматическая переменная.