c++/dcast.cpp
author Markus Bröker<broeker.markus@googlemail.com>
Sat, 21 Oct 2017 13:45:05 +0200
changeset 171 c6e0af68825a
parent 165 f551b78c3eee
permissions -rw-r--r--
Entrypoint and RET fixed

#include <typeinfo>
#include <iostream>

using namespace std;

class A {
  public:
    void f () {
        cout << "Ich bin f() in der Klasse A\n";
    }
};

class B:public A {
  public:
    void f () {
        cout << "Ich bin f() in der Klasse B\n";
    }
};

class C {
  public:
    void f () {
        cout << "Ich bin auch ein f()\n";
    }
};

int main ()
{
    A *ap = new A ();
    B *bp = new B ();

    // instanceof
    C *cp = dynamic_cast < A * >(bp);
    if (cp != NULL)
        cp->f ();

    return 0;
}