当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 怎么样删除某一个目录下的文件~~~~~急 例如我的 c:\temp\aaa.mdb ,我想通过界面把aaa.mdb这个文件给删除掉 该怎么做 ......
    摘要: 如何获得分给本机的所有ip地址?请各位仁兄提示以下。。 ......


vcl的类的析构函数怎么继承

我想继承TForm的析构函数,可是总是报错,请问各位高手我怎么写才能继承vcl的析构函数?

NO.1   作者: Libran

在头文件中声明:  
  public: //   User   declarations  
          __fastcall   TForm1(TComponent*   Owner);//原来有的构造函数  
          __fastcall   ~TForm1();//新声明的析构函数  
   
   
  在Cpp文件里定义:  
  __fastcall   TForm1::~TForm1()  
  {  
          ...//Your   code  
  }  
   
 

NO.2   作者: plainsong

"可是为什么一定要加__fastcall?"  
  因为在TObject中的声明是:  
  virtual   __fastcall   ~TObject;  
  TObject是你的所有VCL类的基类,所以你要和它保持一致.  
   
  "如果TForm1还有子类怎么办?如果不能用virtual那么子类怎么能正确调用析构函数呢?"  
  我并没有说析构函数不能是virtual,正相反,如果这个类是准备用作基类的,它的析构函数就必须是virtual的,否则就会出现问题.而TObject已经遵循了这条规则,它的析构函数就是virtual的,你只管override就行了.在override时,不需要写virtual,因为C++规定,在基类中的virtual方法,在子类中以同样的方法名和参数列表同样的返回值出现时,自动是virtual的,是对基类的方法的override.  
  我这里没有用"重载"这个词,是为了和overload相区别.  
 


    摘要: 没看懂循环的意思,大体知道是将source指针指向的字符串的值赋给destination指向的字符串,可否详细将代码分解,解释一下 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE