多态——动态绑定

原创 2016年08月30日 22:30:43

写出下面程序的输出结果

class A
{
public:
 void FuncA()
 {
     printf( "FuncA called\n" );
 }
 virtual void FuncB()
 {
     printf( "FuncB called\n" );
 }
};
class B : public A
{
public:
 void FuncA()
 {
     A::FuncA();
     printf( "FuncAB called\n" );
 }
 virtual void FuncB()
 {
     printf( "FuncBB called\n" );
 }
};
void main( void )
{
 B  b;
 A  *pa;
 pa = &b;
 A *pa2 = new A;
 pa->FuncA(); 
 pa->FuncB(); 
 pa2->FuncA(); 
 pa2->FuncB();
 delete pa2;
}

解题思路:

B  b; 
A  *pa;
pa = &b;
A *pa2 = newA;
pa->FuncA(); //pa=&b动态绑定但是FuncA不是虚函数,所以FuncA called
pa->FuncB(); //FuncB是虚函数所以调用B中FuncB,FuncBB called  
pa2->FuncA(); //pa2是A类指针,不涉及虚函数,调用的都是A中函数,所以FuncA called FuncB called
pa2->FuncB()






版权声明:本文为博主原创文章,未经博主允许不得转载。

java多态总结以及动态绑定机制

什么是多态? 1.继承体现了多态,JAVA里没有多继承,一个类之能有一个父类。而继承的表现就是多态。一个父类可以有多个子类,而在子类里可以重写父类的方法(例如方法print()),这样每个子类里重写...
  • yuliangliang092
  • yuliangliang092
  • 2016年07月19日 00:35
  • 647

Java的多态(静态绑定和动态绑定)

参考资料:http://blog.csdn.net/lingzhm/article/details/44116091java多态具体表现形式有两种:方法的重写和方法的重载。先来看一段程序(此段代码摘自...
  • zlp1992
  • zlp1992
  • 2016年09月16日 19:52
  • 1072

多态(动态绑定)

多态(动态绑定)
  • sinat_25398439
  • sinat_25398439
  • 2016年11月15日 10:29
  • 453

JAVA的一些常识(绑定,多态,反射,RTTI)

多态何为多态?嗯就是多种状态,如果前面要加上代词的话,我想应该是对象。java多态可以分为三种,即重写多态、重载多态、泛型多态(通常意义上的多态指的是重写多态)。 重写多态:子类可以将父类的任意虚方...
  • nvnnv
  • nvnnv
  • 2016年03月28日 18:37
  • 652

Java中的重载、重写、多态,静态绑定、动态绑定

重载,英文名是overload,是指在一个类中定义了一个以上具有相同名称的方法,这些方法的参数个数、参数类型和顺序不能相同。返回类型可以相同,也可以不同。 public class TstaticOv...
  • dajiadexiaocao
  • dajiadexiaocao
  • 2015年07月15日 17:16
  • 1766

c++之多态性(动态绑定)

多态性    指相同对象收到不同消息或不同对象收到相同消息时产生不同的实现动作。C++支持两种多态性:编译时多态性,运行时多态性。    a、编译时多态性:通过重载函数实现    b、运行时多态性:通...
  • mmshixing
  • mmshixing
  • 2016年05月11日 11:39
  • 722

Java之前期绑定,后期绑定,简单理解和实例

开心一笑【今天我对老公撒娇:老公你夸夸我呗!老公面无表情的看看我,一言不发。我有点生气,怎么遭,以前叫你夸我,你还会随便敷衍几句,现在连敷衍都不想了吗?老公:随便你怎么说,我只是觉得不配跟仙女说话!】...
  • huangwenyi1010
  • huangwenyi1010
  • 2016年11月26日 13:29
  • 781

动态多态以及多态调用过程

多态分为静态多态与动态多态。静态多态包括函数重载,泛型编程。动态是虚函数的使用。         静态多态是指编译器在编译期间完成的,编译器根据函数实参的类型(可能会进行隐式类型转换),可推断出要调用...
  • gmy2016wiw
  • gmy2016wiw
  • 2017年02月26日 15:07
  • 391

C++多态简析——静态多态与动态多态

多态:顾名思义,多态就是多种形态,也就是对不同对象发送同一个消息,不同对象会做出不同的响应。并且多态分为静态多态和动态多态。静态多态就是在系统编译期间就可以确定程序执行到这里将要执行哪个函数,例如:函...
  • stay_the_course
  • stay_the_course
  • 2017年02月16日 16:01
  • 1508

C++ 静态多态和动态多态 浅析

今天的C++已经是个多重泛型编程语言(multiparadigm programming lauguage),一个同时支持过程形式(procedural)、面向对象形式(object-oriented...
  • u013630349
  • u013630349
  • 2015年08月26日 20:41
  • 1557
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:多态——动态绑定
举报原因:
原因补充:

(最多只允许输入30个字)