Ich versuche gerade etwas in C++ so hinzubekommen, wie ich es aus java gewohnt bin. (man sieht vielleicht am Code, dass ich nicht wirklich professionell programmiere)
|
C#-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
public class Base {
public void amethod(){
System.out.println("amethod basis");
}
public void bmethod(){
this.amethod();
}
}
public class Derived extends Base{
public void amethod(){
System.out.println("amethod derived");
}
}
public class Main {
public static void main(String args[]){
Derived derived = new Derived();
derived.bmethod();
}
}
|
Die Ausgabe liefert mir in dem Fall "amethod derived". Was genau das ist, was ich will. Also den Aufruf einer Überschriebenen Methode aus dem Code der Basisklasse heraus.
Allerdings liefert mir dieser code in c++:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include <iostream>
#include <stdio.h>
using namespace std;
class cBase{
public:
void amethod()
{
printf("amethod basis\n");
}
void bmethod()
{
this->amethod();
}
};
class cDerived : public cBase{
public:
void amethod()
{
printf("amethod abgeleitet\n");
}
};
int main() {
cDerived derived;
derived.bmethod();
return 0;
}
|
die Ausgabe "amethod basis". Das ist wie gesagt nicht das was ich haben will.
Wenn aber beispielsweise die MFC oder ähnliche Schnittstellen so arbeiten wie SWING in Java dann sollte es doch irgendwie zu bewerkstelligen sein.
Hat jemand Einfälle?