注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

刘邓

每天收获一点点-目标:富足

 
 
 

日志

 
 

虚函数的作用及其实现方法  

2012-02-18 11:59:14|  分类: 技术类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

虚函数的作用及其实现方法:

虚函数的作用是实现动态联编。在类的派生过程中,许多派生类需要把基类的函数重新实现,在派生类中为了使从新实现的函数得以被调用,需要在根基类里把对应的函数设置为虚函数。具体的方法就是在函数声明前加virtual,派生类中的函数可以不声明,但是最好还是声明。最后通过根基类的对象指针来调用虚函数。

#include<iostream>
#define PI 3.1415926
using namespace std;
class POINT{
      private:
              float x;float y;
      public:
             POINT(float i,float j){x=i;y=j;}
             virtual float Area(){return 0.0;}//根基类必须用virtual 声明虚函数
             ~POINT(){}
};

class LINE:public POINT{
      float x1,y1;
      public:
             LINE(float i1,float j1,float i,float j):POINT(i,j){x1=i1;y1=j1;}
             virtual float Area(){return 0.0;}//最好声明为virtual
             ~LINE(){}
};            

class CIRCLE:public POINT{
      float radius;
      public:
             CIRCLE(float i1,float i,float j):POINT(i,j){radius=i1;}
             float Area(){return PI*radius*radius;}
             ~CIRCLE(){};
};
inline void output(POINT *p){cout<<p->Area()<<endl;} //虚函数必须要用根基类的指针 调用!!!
int main(){
    POINT poi(1,2);
    LINE lin(3,4,1,2);
    CIRCLE cir(3,1,2);
    output(&poi);
    output(&lin);
    output(&cir);
    system("pause");
    return 0;
}

  评论这张
 
阅读(63)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018