代码一:
class Base
{
public:
virtual void foo()
{
cout<<"Base::foo()"<<endl;
zoo();
}
void zoo()
{
cout<<"Base::zoo()"<<endl;
//foo();
}
};
class Derived : public Base
{
public:
virtual void foo()
{
cout<<"Derived::foo()"<<endl;
zoo();
}
void zoo()
{
cout<<"Derived::zoo()"<<endl;
//foo();
}
};
int main()
{
Base *b = new Derived();
b->foo();
return 0;
}
代码二:
class Base
{
public:
virtual void foo()
{
cout<<"Base::foo()"<<endl;
//zoo();
}
void zoo()
{
cout<<"Base::zoo()"<<endl;
foo();
}
};
class Derived : public Base
{
public:
void foo()
{
cout<<"Derived::foo()"<<endl;
//zoo();
}
void zoo()
{
cout<<"Derived::zoo()"<<endl;
foo();
}
};
int main()
{
Base *b = new Derived();
b->zoo();
return 0;
}