1 | #include <iostream>
|
2 | using std::cout;
|
3 | using std::endl;
|
4 |
|
5 | /* Du kannst zB Objekte von Typ LKW, Motorrad, Fahrrad und PKW haben,
|
6 | die alle von "Fahrzeug" abgeleitet sind. */
|
7 |
|
8 | class Fahrzeug {
|
9 | public: virtual void fahren() = 0; // Abstrakte Basisklasse
|
10 | };
|
11 |
|
12 | class LKW : public Fahrzeug {
|
13 | public: void fahren() { cout << "Ich bin der LKWuppdich" << endl; };
|
14 | };
|
15 |
|
16 | class Motorrad : public Fahrzeug {
|
17 | public: void fahren() { cout << "Mim Moped durch die Stadt" << endl; };
|
18 | };
|
19 |
|
20 | class Fahrrad: public Fahrzeug {
|
21 | public: void fahren() { cout << "I want to ride my bicycle, I want to ride my bike" << endl; };
|
22 | };
|
23 |
|
24 | class PKW : public Fahrzeug {
|
25 | public: void fahren() { cout << "Fahrn Fahrn Fahrn auf der Autobahn" << endl; };
|
26 | };
|
27 |
|
28 | int main()
|
29 | {
|
30 | LKW *lkw1 = new LKW;
|
31 | Motorrad *motorrad1 = new Motorrad;
|
32 | Fahrrad *fahrrad1 = new Fahrrad;
|
33 | PKW *pkw1 = new PKW;
|
34 |
|
35 | /* Die kannst du dann in ein Array von Fahrzeugen speichern und kannst die
|
36 | Methode fahren() aufrufen, falls diese Methode in Fahrzeug definiert ist. */
|
37 |
|
38 | Fahrzeug* fahrzeug_array[4] = { lkw1, motorrad1, fahrrad1, pkw1 };
|
39 |
|
40 | for (int i=0; i<4; i++)
|
41 | {
|
42 | fahrzeug_array[i]->fahren();
|
43 | }
|
44 |
|
45 | return 0;
|
46 | }
|