C++源码
#include <iostream>
#include <complex>
using namespace std;
class Base
{
public:
int i;
Base();
virtual ~Base();
virtual void f();
};
class Derived : public Base
{
public:
Derived();
~Derived();
void f();
};
Base::Base():i(0x6666)
{
cout<<"Base-ctor"<<endl;
}
Base::~Base()
{
cout<<"Base-dtor"<<endl;
}
void Base::f()
{
cout<<"Base::f()"<<endl;
}
Derived::Derived()
{
cout<<"Derived-ctor" <<endl;
}
Derived::~Derived()
{
cout<<"Derived-dtor"<<endl;
}
void Derived::f()
{
cout<<"Derived::f()"<<endl;
}
int main()
{
Base b;
Derived d;
Base *pb=NULL;
b.f();
d.f();
pb=&b;
pb->f();
pb=new Derived;
pb->f();
delete pb;
return 0;
}