blob: 4823765c81ca04e632d14a001a35914db82960e5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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
}
|