-2
Ich habe zwei Fragen: 1. Wenn Basisklasse und abgeleitete Klasse hat die gleiche Member-Funktion-compute() und wenn ich ein Objekt der abgeleiteten Klasse erstellen und Aufruf derived_obj.compute(), dann Welche Funktion der Klasse wird aufgerufen?Aufruf überladene Funktion von abgeleiteten Klasse
2.Could rechtfertigen Sie die Ausgabe für dieses:
#include<iostream.h>
#include<iostream.h>
class Base
{
int x, y, z;
public:
Base()
{
x = y = z = 0;
}
Base(int xx, int yy = 'A', int zz = 'B')
{
x = xx;
y = x + yy;
z = x + y;
}
void Display(void)
{
cout<< x << " " << y << " " << z << endl;
}
};
class Derived : public Base
{
int x, y;
public:
Derived(int xx = 65, int yy = 66) : Base(xx, yy)
{
y = xx;
x = yy;
}
void Display(void)
{
cout<< x << " " << y << " ";
Display();
}
};
int main()
{
Derived objD;
objD.Display();
return 0;
}
Wo ist 'compute()' und 'derived_obj' ?? –
Auf Ihrer Hauptseite erstellen Sie ein abgeleitetes Objekt, und Sie rufen die Derived.Display-Memberfunktion auf. Dort gibt es kein Geheimnis. –
Und im Titel Ihrer Antwort sollte "overloaded" in "override" geändert werden –