#include <iostream>
#pragma hdrstop
using std::cout;
using std::endl;
//---------------------------------------------------------------------------
#pragma argsused
//---------------------------------------------------------------------------
class Base {
public:
	Base() { };
	virtual void DisplayMessage() {
		cout << "Displaying Message from an object of Base class" << endl;
	};
};
//---------------------------------------------------------------------------
class DerivedFirst : public Base {
public:
	DerivedFirst() { };
	void DisplayMessage() {
		cout << "Displaying Message from an object of DerivedFirst class" << endl;
	}
};
//---------------------------------------------------------------------------
class DerivedSecond : public Base {
public:
	DerivedSecond() { };
	void DisplayMessage() {
		cout << "Displaying Message from an object of DerivedSecond class" << endl;
	}
};
//---------------------------------------------------------------------------
class DerivedThird : public Base {
public:
	DerivedThird() { };
};
//---------------------------------------------------------------------------
int main()
{
	// create a base class object
	Base* bc = new Base();
	bc->DisplayMessage();
	// delete the base class object and assign it to DerivedFirst object
	delete bc;
	bc = new DerivedFirst();
	bc->DisplayMessage();
	// delete the base class object and assign it to DerivedSecond object
	delete bc;
	bc = new DerivedSecond();
	bc->DisplayMessage();
	// delete the base class object and assign it to DerivedThird object
	delete bc;
	bc = new DerivedThird();
	bc->DisplayMessage();
	delete bc;
	return EXIT_SUCCESS;
}
//---------------------------------------------------------------------------

关于多态代码和运行结果

函数主要作用:用基类声明的指针(Base* bc),指向派生类,如果派生类中有与基类中相同的方面就调用子类的方法,如果子类没有该方面,就调用基类自身的方法。
基类中如果不加virtual 关键字,用用基类声明的指针,调用函数时只能调用基类自身的函数。

相关文章:

  • 2022-12-23
  • 2022-01-02
  • 2022-02-04
  • 2022-02-13
  • 2021-11-24
  • 2021-10-25
  • 2022-03-07
  • 2021-10-30
猜你喜欢
  • 2021-07-26
  • 2023-04-06
  • 2021-07-17
  • 2021-11-21
  • 2022-12-23
  • 2021-08-08
  • 2021-07-15
相关资源
相似解决方案