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

告别迷茫

梦想与现实的差距,就是我们生活的意义。因为我们有差距,我们才会一直积累,在努力。

 
 
 

日志

 
 

8-21虚函数的定义和使用  

2014-04-19 10:48:13|  分类: 程序设计C++ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

/*虚函数的定义 格式:
class 基类名
{
public:
virtual 函数类型 函数名(参数表)
{
函数体;
}
};
(1) 虚函数一个成员函数,在基类中用virtual 声明(可在类外实现 不加virtual)
(2)当一个成员函数被声明为虚函数是,其派生类的同名函数自动成为虚函数;
(3)在派生类中可以从新定义虚函数,此时可以不用virtual,但要求函数名,函数类型,参数个数和类型与基类完全一样;
***3.使用;
虚函数的作用就是:允许在派生类中定义与基类同名的函数,然后通过基类指针所指的对象的类型,来确定调基类的还是派生的
同名韩式,实现多态性。所以必须有以下两个步骤:
(a) 定义一个基类的对象指针。
(b)通过该指针变量调用虚函数,指谁就调谁 ;
*****通过基类对象指针与虚函数的调用,可以方便的调用同一派生层次中的不同类的同名函数;
******/
#include<iostream.h>
class cpoint
{
protected:
double x,y;
public:
cpoint (double X,double Y)
{
x=X;y=Y;
}
virtual void print()
{
cout<<'('<<x<<','<<y<<')'<<endl;
}
};
class circle:public cpoint
{
private:
double r;
public:
circle(double X,double Y,double r1):cpoint(X,Y)
{
r=r1;
}
void display(cpoint p)
{
p.print();
cout<<"半径为:"<<r<<endl;
}
void print()
{
cout<<'('<<x<<','<<y<<')'<<endl;
cout<<"半径 r="<<r<<endl;
}
};
void main()
{
cpoint p(0,0),*q;
circle s(2,1,5);
q=&p;
q->print();
q=&s;
q->print();

}

8-21虚函数的定义和使用 - 983433479 - jet sky
 

  评论这张
 
阅读(6)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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