У меня есть следующий класс CppProperty класс, который имеет значение:Как преобразовать класс C++ в примитивный/другой тип/класс/структуру?
template<typename TT>
class CppProperty
{
TT val;
public:
CppProperty(void)
{
}
CppProperty(TT aval) : val(aval)
{
}
CppProperty(const CppProperty & rhs)
{
this->val = rhs.val;
}
virtual ~CppProperty(void)
{
}
TT operator=(TT aval)
{
this->val = aval;
return this->val;
}
friend TT operator++(CppProperty & rhs);
friend TT operator--(CppProperty & rhs);
friend TT operator++(CppProperty & rhs, int);
friend TT operator--(CppProperty & rhs, int);
//template<typename RR>
//friend RR operator=(RR & lhs, const CppProperty & rhs);
//friend int & operator=(int & lhs, const CppProperty & rhs);
//int reinterpret_cast<int>(const CppProperty & rhs);
};
Я хочу сделать задание так:
CppProperty<char> myproperty(10);
myproperty++;
int count = myproperty;
Как это можно сделать? Я не могу переопределить оператор =. Любая помощь очень ценится! Спасибо!
Спасибо GMan! Выглядит круто! Позвольте мне попытаться вернуться к вам в ближайшее время;) – Viet
Это работает как шарм! Еще раз спасибо! – Viet
Нет проблем, убедитесь, что ваши 'const''s находятся в правильном месте, у меня были их назад в первом сообщении. – GManNickG