多态

什么是多态?

多态指同一个实体同时具有多种形式。它是面向对象程序设计(OOP)的一个重要特征。如果一个语言只支持类而不支持多态,只能说明它是基于对象的,而不是面向对象的。C++中的多态性具体体现在运行和编译两个方面。运行时多态是动态多态,其具体引用的对象在运行时才能确定。编译时多态是静态多态,在编译时就可以确定对象使用的形式。同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。

在C++中:

  class A {

  public:

  A() {}

  virtual void foo() {

 count << "This is A." << endl;

  }

  };

  class B : public A {

  public:

  B() {}

  void foo() {

  cout << "This is B." << endl;

  }

  };

  int main(int argc, char* argv[]) {

  A *a = new B();

  a->foo();

  if(a != NULL)

  delete a;

  return 0;

  }

  这将显示:

  This is B.

  如果把virtual去掉,将显示:

  This is A.

  前面的多态通过使用虚函数virtual void foo()来实现。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值