Ответ 1
Интересно, что синтаксис выглядит так: T()
. Это требует добавления конструктора копирования.
generic<typename T>
public ref class Class
{
public:
Class() : member(T())
{
}
Class(Class^ c)
{
member = c->member;
}
private:
T member;
};
Edit DOH Это тоже работает (был на С# на земле так долго, что я забыл, что NULL и 0 - это то же самое на С++, отсюда нет необходимости в разных значениях значения и ссылочного типа по умолчанию):
generic<typename T>
public ref class Class
{
public:
Class() : member(0)
{
}
Class(Class^ c)
{
member = c->member;
}
private:
T member;
};