summaryrefslogtreecommitdiff
path: root/c,cc/cast.cc
diff options
context:
space:
mode:
authorPatrick Simianer <p@simianer.de>2014-06-15 03:50:12 +0200
committerPatrick Simianer <p@simianer.de>2014-06-15 03:50:12 +0200
commit258e1b92ebbfdebefabc120969ab87c3d8b75c3d (patch)
treeef4ab11fe0bf9d720cea23b35711358a8465feeb /c,cc/cast.cc
parentcf3a29feb5887344b6633ead1b4b6d5657a15a4b (diff)
old c,cc examples
Diffstat (limited to 'c,cc/cast.cc')
-rw-r--r--c,cc/cast.cc27
1 files changed, 27 insertions, 0 deletions
diff --git a/c,cc/cast.cc b/c,cc/cast.cc
new file mode 100644
index 0000000..2e84a64
--- /dev/null
+++ b/c,cc/cast.cc
@@ -0,0 +1,27 @@
+#include <iostream>
+
+using namespace std;
+
+
+struct A {
+ virtual void p() { cout << "A" << endl; }
+ void q() { cout << "q" << endl; }
+};
+
+struct Ba : public A {
+ void p() { cout << "Ba" << endl; }
+};
+
+struct Bb : public A {
+ void p() { cout << "Bb" << endl; }
+};
+
+int main(void)
+{
+ A* x = new A;
+ x = dynamic_cast<Ba*>(new Ba);
+ cout << "-" << endl;
+ x->q();
+ x->p();
+}
+