名词解释,下列修饰符在定义方法或过程时起什么作用:
Static
Virtual
dynamic
override
overload
reintroduce
abstract
safecall
这些你都知道么?

解决方案 »

  1.   

    当然明白,不然怎么开发组件看Delphi的Help就什么都明白,根本就不用问人的
      

  2.   

    delphi中没有Static修饰符,但在C++中static的各种含义delphi都有对应的方法实现
      

  3.   

    safecall不知道。
    对了,还有stdcall不知道
      

  4.   

    Static--------静态方法,不使用
    Virtual-------虚拟方法
    dynamic-------动态方法,和虚拟的区别是一个放在VMT中一个放在DMT中
    override------覆盖,实现多态的方式,其中向下映射已经被Delphi禁止
    overload------重载,解决方法同名的方式
    reintroduce---重引入,舍弃从父类继承的重新定义
    abstract------抽象,具体实现在子类中进行
    safecall------调用约定的一种
      

  5.   

    在 Delphi 中 static 是可以修饰的, 只是稍做变化罢了.function Demo(AStr: String; IsGet: Boolean): String;
    const
       Static_Demo_String: String = 'This is Demo.';
    begin
       if not IsGet then
          Static_Demo_String := AStr;
       result := Static_Demo_String;
    end;
      

  6.   

    // 这样更加合理
    function Demo(IsGet: Boolean = True; AStr: String = ''): String;
    const
       Static_Demo_String: String = 'This is Demo.';
    begin
       if not IsGet then
          Static_Demo_String := AStr;
       result := Static_Demo_String;
    end;
      

  7.   

    safecall指示字表示,系统将对隐藏返回的HResult进行异常处理,查看关于COM的部分
      

  8.   

    c++的static有多种含义,在delphi的实现中都不同,kyee(浪子阿鹏) 只列举了静态局部变量的delphi实现,还有静态全局变量,delphi是把放在implementation里面声明的变量作为全局静态变量。c++放在中放在修饰成员函数的静态成员函数delphi就用class修饰
      

  9.   

    Delphi中没有静态字段静态方法的概念,只能偷梁换柱的解决。
      

  10.   

    有谁想得到C里面的位结构用什么方法转成PASIC的,我佩服他。
    struct mystruct
    {
    int a:1;
    int a:2;
    int a:3;
    int a:26;
    }
    还有一个联合结构union
    不过PASIC中有一人absoulte,不过也不完全一样。
      

  11.   

    位域在pascal没有对应,但union和pascal的变体记录相似,但用法不完全一样,absolute表示绝对地址或者一个变量和另一个变量使用相同地址,但在保护模式下前面一种用法已经没有意义了
      

  12.   

    :wly033(城市流浪人) 
    现在内存那么,有必要那么斤斤计较吗?
      

  13.   

    我的破机的内存都是512M加上虚拟内存共有2.5G
    你想一下,
    从Delphi1.0到2.0 integer都变成4个字节了..
    不用这么节省内存了,还是看看怎么写程序快吧
      

  14.   

    这不是内存问题, 这是语言特性, 没必要一定存在, 就如 Delphi 中的集合, 在 C++ 中也是没有的, 虽然 C++ 可以重载操作符来模拟.