C++中关于多态的问题
class Base
{
public:
virtual void display() const
{ std::cout << "I am Base class !" << std::endl; }
virtual ~Base(){}
};
class Derive: public Base
{
public:
virtual void display()
{ std::cout << "I am Derive class !"<< std::endl; }
virtual ~Derive(){}
};
int main()
{
Base* pBase = new Derive();
Derive* pDerive = new Derive();
pBase->display();
pDerive->display();
delete pBase;
delete pDerive;
return 0;
}
#include <iostream>
class Base
{
public:
virtual void display() const
{ std::cout << "I am Base class !" << std::endl; }
virtual ~Base(){}
};
class Derive: public Base
{
public:
virtual void display() const
{ std::cout << "I am Derive class !"<< std::endl; }
virtual ~Derive(){}
};
int main()
{
Base* pBase = new Derive;
Derive* pDerive = new Derive();
pBase->display();
pDerive->display();
delete pBase;
delete pDerive;
return 0;
}