override toString
Qian Xu
qian.xu at funkwerk-itk.com
Thu Dec 3 02:01:29 PST 2009
Hi All,
I want to print some object information for debugging. But the name of class
is incorrect. I do not know why.
module test;
class A {
char[] data;
public char[] toString() {
return "<" + this.classinfo.name + ": " + data + ">";
}
}
class B: A {
char[] data2;
public override char[] toString() {
return "<" + this.classinfo.name + ": " + super.toString + ", " + data2
+ ">";
}
}
auto b = new B;
b.data = "hello";
b.data2 = "world";
Cout(b.toString); // <test.B: <test.B: hello>, world>
The expected result should be:
<test.B: <test.A: hello>, world>
But the actual result is:
<test.B: <test.B: hello>, world>
More information about the Digitalmars-d-learn
mailing list