c++/dcast.cpp
author Markus Bröker<broeker.markus@googlemail.com>
Sun, 22 Oct 2017 22:55:27 +0200
changeset 172 43ae72f88d06
parent 165 f551b78c3eee
permissions -rw-r--r--
2er Komplement und integerToString

#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;
}