Overloading reference operator
Andrew Haley
aph@redhat.com
Sun Apr 25 09:53:00 GMT 2010
On 04/24/2010 07:07 PM, Andrew Haley wrote:
> On 04/24/2010 06:30 PM, Samkit Jain wrote:
>> template<class T>
>> MyClass
>> {
>> public:
>> MyClass() : m_data(10) { }
>> operator T&() { return m_data; }
>> private:
>> T m_data;
>> };
>
> I think this example does what you want:
>
> template<class T> class
> MyClass
> {
> public:
> MyClass() : m_data(10) { }
> operator T&() { return m_data; }
> T& operator= (const T &t) { m_data = t; return *this; }
> private:
> T m_data;
> };
I'm sorry, I think I misunderstood your question. You're asking why
instance++;
works, but, say
instance = instance + 1;
doesn't. Apologies.
Andrew.
More information about the Gcc-help
mailing list