digitalmars.D.learn - Classes with indexes
Hello guys,
I have the following class...
class myclass
{
private ubyte[] Array;
}
...and i want to create an instance of this class and access the array as
follows:
myclass mc = new myclass();
mc[0] = 100;
I was complety sure i saw this in the newsgroup but i canīt remember where
exactly.
How is this "thing" called?
In the .NET framework i see it in almost every library.
I hope you guys get the idea, please help.
Jan 02 2008
I have the following class...
class myclass
{
private ubyte[] Array;
}
...and i want to create an instance of this class and access the array as
follows:
myclass mc = new myclass();
mc[0] = 100;
import std.stdio;
class myclass
{
private ubyte[] Array;
void opIndexAssign(ubyte value, size_t i) {
if( Array.length <= i )
Array.length = i+1;
Array[i] = value;
}
ubyte opIndex(size_t i) { return Array[i]; }
}
void main()
{
myclass mc = new myclass();
mc[0] = 100;
writefln( mc[0] );
}
http://www.digitalmars.com/d/operatoroverloading.html
Best regards,
Daniel
Jan 02 2008
Daniel919 Wrote:Hahaha, cool man thanks, thatīs exactly what i needed. "Array Operator Overloading: Overloading Indexing" Thatīs the name for it. Iīve learned something new today, thanks again.I have the following class... class myclass { private ubyte[] Array; } ...and i want to create an instance of this class and access the array as follows: myclass mc = new myclass(); mc[0] = 100;import std.stdio; class myclass { private ubyte[] Array; void opIndexAssign(ubyte value, size_t i) { if( Array.length <= i ) Array.length = i+1; Array[i] = value; } ubyte opIndex(size_t i) { return Array[i]; } } void main() { myclass mc = new myclass(); mc[0] = 100; writefln( mc[0] ); } http://www.digitalmars.com/d/operatoroverloading.html Best regards, Daniel
Jan 02 2008








peter <p.adject mdt.org>