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

东莞金融网站建设最新行业动态

东莞金融网站建设,最新行业动态,贵阳网站定制电话号码,建设工程施工合同网站其实在很早之前,我一直没有注意到这个问题,直到今天碰见了一道题,顺便前面的博客中,继承写到,子类中不包含父类,子类只是继承了父类的成员变量和函数,由这一点,引发了我对切片以及赋…

其实在很早之前,我一直没有注意到这个问题,直到今天碰见了一道题,顺便前面的博客中,继承写到,子类中不包含父类,子类只是继承了父类的成员变量和函数,由这一点,引发了我对切片以及赋值的疑惑,为什么只有指针和引用才可以发生多态呢?

那么很多人可能想说的是,这不就是概念吗,也就是说C++委员会定标准就是这样定的,其实我想说的是,如果看过我上一篇内容的朋友,应该也会想到这个问题。如下:

B继承了A,但是其实B中不包含A的,只不过是B中有了A的成员函数和一些成员变量,但是如果此时A中有虚函数呢?那么此时B中就会发生重写,也就是覆盖,会有虚函数表指针,但是我想说的是,我们在继承中学习过切片,切片是不牵扯类型转换什么的,但是你想过类似于下面的代码吗?

因为B继承了A,所以此时的B的虚函数指针指向的虚函数表与A不同,但是此时这里发生了切片,如果就像我们平时所说的,切片没有发生类型转换,只是将B类中A的那部分赋值给A的对象,那么此时按道理说赋值给A的对象的那个虚函数表,此时应该是B中重写之后的。但是不是,我们可以看看结果。

他既然是没有重写之前的,怎么会回事,难道B中,没有重写吗?其实不是的。在这里有两种说法:第一:在赋值拷贝的时候,不拷贝虚函数表指针。这样的话,A就是用的自己的虚函数表指针。所以此时打印出来就是没有重写的.(这种说法也是我的老师说的)。

第二:因为在切片的时候,其实是发生了浅拷贝的,所以此时因该是A的对象与B的对象一样,不仅一样,如果他们中有指针,还是两个指针指向同一个地址的,但是这里明显没有,所以只有一个解释,那就是B在发生切片的时候,B的虚函数指针指向发生了变化。所以这里有小小的隐式类型转换。(此方法是上网查询,唯一能解释的通的,且自己明白的说法)

而引用和指针其实是一个道理,拿指针来说,把子类对象地址的开头给父类指针,所以这里也没办法变啊,引用也是一个道理,引用就是起别名,他是给子类对象中父类的成员函数,变量等起了一个别名,这个怎么变啊?所以,这样的话,就相当于是可以发生多态。

对此,大家有什么看法吗?

http://www.wangmingla.cn/news/143127.html

相关文章:

  • 网站的付款链接怎么做商品推广软文800字
  • 单页面网站制作教程企业网站建设门户
  • 个人网站怎么做app郑州网站优化公司
  • 家庭网络建站石家庄seo
  • 成都装修公司招聘信息seo基础知识包括什么
  • xampp搭建wordpress百度怎么优化关键词排名
  • 石家庄住房和城乡建设部网站网络推广外包要多少钱
  • 网站加载动画效果谁能给我个网址
  • app开发网站建设培训班让顾客心动的句子
  • 做网站有什么比较好看的动效cpc广告接单平台
  • 济南市建设局网站关键词排名方法
  • 微网站 尺寸app香港账号
  • 聊城做网站2022最新时事新闻及点评
  • 互联网网站建设哪家好青岛seo排名公司
  • 网站高端建设seo相关岗位
  • 星空传媒有限公司网站seo排名关键词
  • 摩洛哥网站后缀网拍外宣怎么推广
  • 做网站推广排名外贸网站设计
  • 网站建设空间申请网站运营是做什么的
  • 宁波海曙网站开发公司电话sem竞价专员
  • 男女做那个的免费视频网站北京网站优化方案
  • 有诗意的广告公司名字优化大师软件大全
  • 网站建设做哪个科目网站友链交换平台
  • 免费商城网站建站系统外链工具在线
  • 做写字楼租赁用什么网站好百度视频免费下载
  • 天眼查询个人信息官网seo关键词优化培训班
  • 做网站推广需要多少钱营销qq官网
  • 建设通网站黄页污水
  • 小程序wordpress打包谷歌推广seo
  • 织梦网站被植入广告怎样策划一个营销型网站