#include <iostream>
using namespace std;
class Base
{
protected:
int x;
public:
Base(int n):x(n){}
void display(){
cout << __FUNCTION__ << " Base: " << x << endl;
}
virtual void display2(){
cout << __FUNCTION__ << " Base: " << x << endl;
}
};
class Derived: public Base
{
int y;
public:
Derived(int m):Base(m),y(m){}
void display(){
cout << "Derived: " << y << endl;
}
virtual void display2(){
cout << __FUNCTION__ << " Derived: " << x << endl;
}
};
int main(void)
{
Derived d(2);
Base * p = &d;
cout << "實函數測試:\n";
p->display();
cout << "虛函數測試:\n";
p->display2();
return 0;
}
實函數測試:
display Base: 2
虛函數測試:
display2 Derived: 2