AstaTus
-- 夏天不热。。
posts - 22,comments - 12,trackbacks - 0

        刚在看某牛人的写得LSGE游戏开发库,发现父类里有几个虚函数是在子类中重载后,子类中被重载的虚函数能被父类对象调用(多基础的问题啊),一直都找不出原因,后来终于发现是this的问题。。

给个例子:

#include<stdio.h>
class D1   
{   
public:   
    
virtual void reder()  //虚函数 在D2中被重载   
    {   
             printf(
"d1");   
        }
   
    
void run()   
    
{   
        
this->reder();  //this 指针调用reder()函数   
    }
   
}
;   
  
class D2:public D1   
{   
public:   
    
void reder()   
    
{   
        printf(
"d2");   
    }
   
       
  
}
;   
  
  
void main()   
{   
    D2 a;      
    a.run();

  
/*这里的a是子类D2的对象,
     所以在调用  run()时那个 this指   
      针指的是D2的   对象,所以最终输出的 D2。。   
  
*/


}
  
posted @ 2008-08-01 10:40 AstaTus 阅读(147) | 评论 (0)编辑 收藏

       从先前的ACM,到现在的FAT32文件系统,一直用的是C,现在渐渐觉得C的扩充性不高,代码一写长,便很难掌控,如果是C++的话,便能防止这类事情发生,但前提是类设计规划的要好。。

     不过很久没用C++了,那就从现在开始重拾c++吧。。。

posted @ 2008-08-01 10:35 AstaTus 阅读(128) | 评论 (0)编辑 收藏
仅列出标题
共3页: 1 2 3