Surcharge de l'opérateur T
Bonjour à tous :)
Alors voila en parcourant quelques lignes de code j'ai pu voir ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
template<class T>
class CAttribute
{
protected:
/// Type de l'attribut.
Ogre::String mType;
/// Valeur de l'attribut.
T mValue;
public:
CAttribute(const Ogre::String& type = "null", T value = T()):
mType(type),
mValue(value)
{}
//! Destructeur.
virtual ~CAttribute(void)
{}
...
...
T getValue(void) const { return mValue; }
T operator() (void) { return mValue; }
virtual operator T() const { return getValue(); }
}; |
Que signifie les surcharges de l'opérateur suivantes
Code:
1 2 3
|
T operator() (void) { return mValue; }
virtual operator T() const { return getValue(); } |
Sachant que un CAttribute est encapsulé dans un boost::shared_ptr<>
Kromagg