重载:
procedure youproc( a : integer );overload;
procedure youproc( a : string );overload;重载函数就是同一函数名可对应好多个不同参数或返回值的函数,编译器会自动根据参数类型来选择使用哪个函数。
如果你使用youproc( 123 );编译器使用第一个函数,如果使用youproc( '123');编译器就会使用第二个,即根据不同的参数来选择。

解决方案 »

  1.   

    呵呵,我也提过这样的问题。
    http://www.csdn.net/expert/topic/99/99697.shtm
      

  2.   

    Crob,这个overload,不叫重载吧,叫什么来着,函数的多重定义,忘了,什么什么来着
      

  3.   

    在一个类中,可能会有许多名字相同的方法,只是参数不同而已,加上OVERLOAD既为重载,虚拟即只提供方法的声明,并不提供该方法的实现,可在该类的继承类中实现,和COM的接口有点相式!
      

  4.   

    重载是c++中的概念,pascal里不知道叫什么呢,差不多意思一样都叫重载吧,呵呵
      

  5.   

    在父类的定义virtual方法,但是这个方法可以有父类自己的实现,除了纯虚抽象方法(abstract),它是没有实现的之外,而在子类的定义同样的方法名称可以override它,然后可以inherited,也可不inherited, 一般我们用的类,大都是override 过来的方法,它一直inherited, 每个类里的方法实现不同的功能调用,这样封装就完成了。
      

  6.   

    wuhenan说的很对补充说明一下
    重载是通过把函数参数作为函数扩展名的一部分来实现的多态是通过后期绑定实现的,后期绑定一般是通过一个指向v_table的指针实现,v_table中
    包含有一系列函数指针,子类重载基类的函数时,会修改V_table中相应函数指针