J'ai la classe CppProperty de classe suivante qui détient la valeur:Comment faire pour convertir C++ classe/struct à un primitif/différent type/classe/struct?
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);
};
Je veux faire la cession comme ceci:
CppProperty<char> myproperty(10);
myproperty++;
int count = myproperty;
Comment cela peut être fait? Je ne peux pas remplacer l'opérateur =. Toute aide est grandement appréciée! Je vous remercie!
Merci GMan! Ça a l'air cool! Laissez-moi essayer et revenir vers vous dans un court moment;) – Viet
Cela fonctionne comme le charme! Merci encore! – Viet
Pas de problème, assurez-vous que vos 'const' sont dans l'emplacement correct, je les ai eu en arrière dans le premier message. – GManNickG