当前位置: 首页 > news >正文

云南营销型网站建设/网站友情链接的好处

云南营销型网站建设,网站友情链接的好处,山东泰安微平台,浏览网站 需要我安装wordpress在上一节中已经提到了虚函数的声明方法了,就是在函数返回类型前加上virtual关键字。virtual关键字仅用于函数声明,如果函数是在类外定义,则不需要再加上virtual关键字了,在C中只有类中的成员函数能被声明为虚函数,而对…

在上一节中已经提到了虚函数的声明方法了,就是在函数返回类型前加上virtual关键字。virtual关键字仅用于函数声明,如果函数是在类外定义,则不需要再加上virtual关键字了,在C++中只有类中的成员函数能被声明为虚函数,而对于顶层函数则不能声明为虚函数,原因很简单,声明虚函数是为了构成多态,而构成多态的第一个条件就是需要继承关系,顶层函数很明显是不具有继承关系的,因此也就不能被声明为虚函数了。

例1:
#include
using namespace std;

class base
{
public:
virtual void display();
};

class derived: public base
{
public:
virtual void display();

};

void base::display()
{
cout<<“I’m base class!”<<endl;
}

void derived::display()
{
cout<<“I’m derived class!”<<endl;
}

int main()
{
base * p = new base;
p->display();
delete p;
p = new derived;
p->display();
delete p;
return 0;
}
在本例中,我们将两个类中的display函数在类内部声明,类外部定义,当然这么修改并不会改变程序的运行结果。在本例中我们需要注意的是在类内声明时display函数通过在返回类型前添加了virtual关键字而被声明为了虚函数,而在类外定义时,display函数的返回类型前并未添加virtual关键字。

另外在例1中,我们在基类和派生类中的display函数声明时都加上了virtual关键字,以表示将其声明为虚函数,而实际上这是不需要的,我们只需要将基类中的display函数通过virtual关键字声明为虚函数,之后即使在派生类中display函数声明时未加上virtual关键字,但它在所有的派生类中都将自动成为虚函数。

例2:
#include
using namespace std;

class base
{
public:
virtual void display();
};

class derived: public base
{
public:
void display();

};

void base::display()
{
cout<<“I’m base class!”<<endl;
}

void derived::display()
{
cout<<“I’m derived class!”<<endl;
}

int main()
{
base * p = new base;
p->display();
delete p;
p = new derived;
p->display();
delete p;
return 0;
}
在本例中,我们将例1中派生类的display成员函数声明时所用的virtual关键字去掉,编译并运行程序,结果显示程序运行结果仍然保持不变。

和普通的成员函数一样,虚成员函数同样可以被继承。

例3:
#include
using namespace std;

class base
{
public:
virtual void hello(){cout<<“Hello!”<<endl;}
};

class derived: public base
{
//…
};

int main()
{
base * p = new base;
p->hello();
delete p;
p = new derived;
p->hello();
delete p;
derived d;
d.hello();
return 0;
}
在本例中,派生类derived中无新增的成员变量或成员函数,它是base类的派生类。我们直接来看主函数。在主函数中依然是定义一个base类类型的指针,然后先后指向基类和派生类的对象。在此例中,因为派生类中并不存在与基类hello函数具有相同函数名的虚函数(继承过来的hello函数与基类中的hello函数并未构成遮蔽关系),因此并未构成多态,自始至终都是调用的都是基类的hello函数。之后又定义了一个派生类对象d,这个对象调用hello函数,当然则个hello同样是继承自基类base中的hello函数了。从这个程序很明显可以看出虚函数是具有继承特性的,这一点它与普通函数一般无二。

http://www.lbrq.cn/news/937405.html

相关文章:

  • 做网站1008做网站 - 百度/百度移动端关键词优化
  • 手机网站和电脑网站/商丘网站seo
  • 网站自适应手机怎么/seo博客推广
  • 网络规划设计师教程第二版 百度网盘/谷歌seo推广服务
  • 南昌英文网站建设/网推广公司
  • 百润网站建设/网站设计制作一条龙
  • 做最好的在线看片网站/今日军事新闻报道
  • 湖北建站/网站seo排名免费咨询
  • 网站制作方案去哪找/东莞seo快速排名
  • 百度小程序客服/谷歌sem和seo区别
  • 广元做网站的公司/河池网站seo
  • 微信公众号视频网站开发/日本搜索引擎naver入口
  • 品牌网站设计/公司宣传网站制作
  • 图书网站建设规划书/seo入口
  • wordpress 站点描述/泰安网站seo
  • 网站如何做权重/太仓seo网站优化软件
  • 十大免费ppt模板免费下载网站/山东进一步优化
  • 深圳seo搜索优化/惠州seo怎么做
  • 微商的自己做网站叫什么软件/今日热点新闻15条
  • 凡科网做网站/网络营销推广外包服务
  • 做网站前台后台是怎么连接的/代做关键词收录排名
  • 做购物平台网站需要注意什么/新软件推广
  • 昌大建设集团地址/北京seo相关
  • 庆阳做网站/百度优化教程
  • 二手车网站源码/网络营销策划与推广
  • 做网站搜爬闪/关键词查网址
  • 做奖状的网站/企业网站制作公司
  • wordpress get users/兰州seo实战优化
  • 网页创建站点/怎样把个人介绍放到百度
  • 自己电脑做网站访问快吗/站长工具网站排名
  • Redis做混沌测试都需要测哪些场景?预期如何?
  • 【最新版】防伪溯源一体化管理系统+uniapp前端+搭建教程
  • 【Canvas与旗帜】条纹版大明三辰旗
  • 数据结构 二叉树(3)---层序遍历二叉树
  • TCP如何解决网络切换问题
  • 嵌入式硬件篇---zigbee无线串口通信问题