How do you do a typeid(obj) to get the most derived class that it is, or string?
Ali Çehreli via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Feb 1 22:36:24 PST 2016
On 02/01/2016 10:20 PM, Enjoys Math wrote:
>
> class A {
>
> }
>
> class B : A {
>
> }
>
> class C : B {
>
> }
>
> auto b = new B();
>
> typeid(b) == "B"
>
> ?
>
> Thanks.
class A {
}
class B : A {
}
class C : B {
}
void main() {
auto b = new B();
assert(typeid(b) == typeid(B));
// Or, if you have the type without an object (e.g. in templated code)
assert(typeid(typeof(b)) == typeid(B));
}
Ali
More information about the Digitalmars-d-learn
mailing list