diff options
Diffstat (limited to 'tests/exec/redef1.cpp')
-rw-r--r-- | tests/exec/redef1.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/exec/redef1.cpp b/tests/exec/redef1.cpp new file mode 100644 index 0000000..4823765 --- /dev/null +++ b/tests/exec/redef1.cpp @@ -0,0 +1,24 @@ +#include <iostream> + +class A { +public: + virtual int f(int x); +}; + +int A::f(int x) { return x; } + +class B : public A { +public: + virtual int f(int x); +}; + +int B::f(int x) { return 2*x; } + +int main() { + A *a = new A(); + std::cout << a->f(1) << "\n"; + B *b = new B(); + std::cout << b->f(1) << "\n"; + a = b; + std::cout << a->f(1) << "\n"; // c'est B::f qui est appelée +} |