в C++ есть такое понятие оператор (new) или ( = )
там в принципе тоже нужно описывать все действия для достижения ожидаемой цели.
Можно попробовать описать создание в конструкторе (не всегда удобно)

Код:
class Aclass
{
function Aclass(Tclass:Aclass)
{
this.a = Tclass.a;
// итп.. боюсь возникнут проблемы с приватами
}
}