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

淘宝在线购物网站seo搜索营销分析方案

淘宝在线购物网站,seo搜索营销分析方案,做违法网站程序员犯法吗,哈尔滨模板建站品牌🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集 数据库专栏 初阶数据结构 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如…

🎬 博客主页:博主链接
🎥 本文由 M malloc 原创,首发于 CSDN🙉
🎄 学习专栏推荐:LeetCode刷题集 数据库专栏 初阶数据结构
🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📆 未来很长,值得我们全力奔赴更美好的生活✨

在这里插入图片描述
在这里插入图片描述

文章目录

  • 😇本章详情
  • 😇多态的前情介绍
    • 📝多态的概念
  • 😇多态的定义及实现
    • 📝多态的构成条件
    • 📝 虚函数的重写/覆盖
    • 📝析构函数的重写
  • 📃如何巩固学习
  • 📃本文小结

😇本章详情

🐤本篇文章将继续讲授C++的多态相关的知识

😇多态的前情介绍

📝多态的概念

多态(polymorphism)的概念:通俗来说,就是多种形态。


运⾏时多态,具体点就是去完成某个⾏为(函数),可以传不同的对象就会完成不同的⾏为,就达到多种形态。例如动物叫是一个行为(函数),传猫对象过去,就是喵喵,传狗对象过去就是汪汪


😇多态的定义及实现

📝多态的构成条件


多态是⼀个继承关系的下的类对象,去调⽤同⼀函数,产⽣了不同的⾏为。⽐如Student继承了Person。Person对象买票全价,Student对象优惠买票。


实现多态的两个重要条件

  1. 必须是基类的指针或者引⽤调⽤虚函数
  2. 被调⽤的函数必须是虚函数,并且完成了虚函数重写/覆盖。

说明

要实现多态效果,第一必须是基类的指针或者引用,因为只有基类的指针或引用才能既指向基类对象又指向派生类对象;第二派生类必须对基类的虚函数完成了重写/覆盖,重写或者覆盖了,基类和派生类之间才能有不同的函数,多态的不同形态效果才能达到。


📝 虚函数的重写/覆盖

虚函数的重写/覆盖:派⽣类中有⼀个跟基类完全相同的虚函数(即派⽣类虚函数与基类虚函数的返回值类型、函数名字、参数列表完全相同),称派⽣类的虚函数重写了基类的虚函数。


注意:在重写基类虚函数时,派⽣类的虚函数在不加virtual关键字时,虽然也可以构成重写(因为继承后基类的虚函数被继承下来了在派⽣类依旧保持虚函数属性),但是该种写法不是很规范,不建议这样使用,不过在考试选择题中,经常会故意买这个坑,让你判断是否构成多态。

class Person {
public:
virtual void BuyTicket() { cout << "买票-全价" << endl; }
};
class Student : public Person {
public:virtual void BuyTicket() { cout << "买票-打折" << endl; }
};
void Func(Person* ptr)
{// 这⾥可以看到虽然都是Person指针Ptr在调⽤BuyTicket// 但是跟ptr没关系,⽽是由ptr指向的对象决定的。ptr->BuyTicket();
}
int main()
{Person ps;Student st;Func(&ps);Func(&st);return 0;
}

在这里插入图片描述

在上述代码中,首先我们写了一个Person基类,里面定义了一个虚函数BuyTicket,又创建了一个学生派生类继承Person基类,并且重写了BuyTicket成员函数。此时我们想要调用试一下,于是我们写了一个Func函数,参数列表必须是基类的指针或者引用。


📝析构函数的重写

基类的析构函数为虚函数,此时派⽣类析构函数只要定义,⽆论是否加virtual关键字,都与基类的析 构函数构成重写,虽然基类与派⽣类析构函数名字不同看起来不符合重写的规则,实际上编译器对析 构函数的名称做了特殊处理,编译后析构函数的名称统⼀处理成destructor,所以基类的析构函数加了 vialtual修饰,派⽣类的析构函数就构成重写。

代码实现

class A
{
public:virtual ~A(){cout << "~A()" << endl;}
};
class B : public A {
public:~B(){cout << "~B()->delete:" << _p << endl;delete _p;}
protected:int* _p = new int[10];
};
// 只有派⽣类Student的析构函数重写了Person的析构函数,下⾯的delete对象调⽤析构函数,才能
// 构成多态,才能保证p1和p2指向的对象正确的调⽤析构函数。
int main()
{A* p1 = new A;A* p2 = new B;delete p1;delete p2;return 0;
}

在上述代码中,如果基类A中的析构函数,不加上virtual的话,A 和B 是不构成重写的,此时在对对象进行析构的时候是会造成内存泄露的,delete p2是只会调用A的析构函数的,这样就会导致内存泄露的原因,因为~B()在释放资源

在这里插入图片描述

📃如何巩固学习

提示:在学习的过程中,我们需要先自行进行思考,并且多去阅读一些大佬的书籍,俗话说的好,书籍是人类进步的阶梯!

📃本文小结

  1. 这只是继承中的一小部分知识,山高路远,我们下期再见啦!!!!

好啦今日的分享到这里就结束啦,我是爱你们的M malloc希望可以帮助到你们噢,最后别忘记三连啦!!

在这里插入图片描述

在这里插入图片描述

http://www.dtcms.com/wzjs/556510.html

相关文章:

  • 微信网站模板源码下载国家注册商标官方网
  • 长沙百度做网站多少钱做网站的主机配置
  • 外贸建站wordpress主题win2012 iis配置网站
  • 简约型网站iis5.1 新建网站
  • 福州公司建站aspnet网站开发实例视频
  • 手机网站建站费用网站导航栏怎么设置
  • 英文网站排版网站集约化建设
  • 影音先锋资源网站建设wordpress搜索ajax
  • 传奇网站传奇中石化第十建设公司官网
  • 青岛高品质网站制作wordpress 更改端口
  • 自己做刷东西的网站视频网站模板源码
  • 网站资源建设方案网站建设的开发方式
  • 最新网站域名ip查询网站app建站多少钱
  • 厦门网络建站公司哪家做网站好的
  • 个人网站栏目中国安能建设集团有限公司网站
  • 江苏网站建设找哪家建设厅培训中心网站
  • 珠海建网站多少钱新东方一对一辅导价格
  • 做网站用html还是jsp网页设计实验报告单模板
  • 黑色时尚橱柜网站源码西安培训机构
  • 做外贸网络推广网站凡科建站官网
  • 韶关营销网站开发联系方式制作动态表情的网站
  • 和目网站wordpress付费查看视频
  • 攀枝花网站开发北京做手机网站
  • 附近企业烟台网站seo
  • 南宁建网站必荐云尚网络为什么搜索不到刚做的网站
  • 怎么注册一个属于自己的网站wordpress获取tag地址
  • 昆明 网站设计网上免费做网站
  • 做网站vs2012能不能做图片广告设计软件
  • 做网站优化公司报价网页传奇怎么删除
  • windows网站建设教程视频教程微商引流被加方法精准客源