父类指针指向子类对象的测试
#include <iostream>
using namespace std;
class Base
{
public:
Base(int j) : i(j) {
cout<<"Base: i()..."<<endl;
}
virtual ~Base() {
cout<<"Base ~virtual..."<<endl;
}
void func1()
{
i *= 10;
cout<<"i="<<i<<endl;
func2();
cout<<"Base func1..."<<endl;
}
int getValue()
{
cout<<"Base getValue..."<<endl;
return i;
}
protected:
virtual void func2()
{
i++;
cout<<"Base func2..."<<endl;
}
protected:
int i;
};
class Child : public Base
{
public:
Child(int j) : Base(j) {
cout<<"Child ..."<<endl;
}
void func1()
{
i *= 100;
cout<<"i="<<i<<endl;
func2();
cout<<"Child func1"<<endl;
}
protected:
void f