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

网站申请名称和域名内蒙古住房与建设官方网站

网站申请名称和域名,内蒙古住房与建设官方网站,公众号运营策划书,公司网站可以自己建立吗一、多态的基本语法 多态分为两类 静态多态: 函数重载 和 运算符重载属于静态多态#xff0c;复用函数名 动态多态: 派生类和虚函数实现运行时多态 静态多态和动态多态区别#xff1a; 静态多态的函数地址早绑定 - 编译阶段确定函数地址 动态多态的函数地址晚绑定 - 运…一、多态的基本语法 多态分为两类 静态多态: 函数重载 和 运算符重载属于静态多态复用函数名 动态多态: 派生类和虚函数实现运行时多态 静态多态和动态多态区别 静态多态的函数地址早绑定 - 编译阶段确定函数地址 动态多态的函数地址晚绑定 - 运行阶段确定函数地址 #includeiostream using namespace std;//多态//动物类 class Animal { public://虚函数virtual void speak()//void speak(){cout 动物在说话 endl;} };//猫类 class Cat :public Animal { public://重写函数返回值类型 函数名 参数列表 完全相同称为重写void speak()//子类重写时,前面virtual可写可不写{cout 小猫在说话 endl;} };//狗类 class Dog :public Animal { public:void speak(){cout 小狗在说话 endl;} };//执行说话的函数 //地址早绑定 在编译阶段确定函数地址 //如果想执行让猫会说话那么这个函数地址就不能提前绑定需要在运行阶段进行绑定地址晚绑定 //在动物类speak函数前加virtual//动态多态满足条件 //1.有继承关系 //2.子类重写父类的虚函数//动态多态使用 //父类的指针或者引用指向子类对象void doSpeak(Animal animal) //Animal animal cat {animal.speak(); }void test1() {Cat cat;doSpeak(cat);//out:动物在说话 加上virtual之后out:小猫在说话Dog dog;doSpeak(dog);//out:小狗在说话 }int main() {test1();return 0; }总结 多态满足条件 1.有继承关系 2.子类重写父类中的虚函数 多态使用条件 父类指针或引用指向子类对象 重写函数返回值类型 函数名 参数列表 完全一致称为重写 二、多态的原理剖析 1.未发生重写时则为继承把父类中的所有内容都继承一份 2.发生重写时 子类中的虚函数表内部会替换成子类的虚函数地址 多态原理由于写了一个虚函数类的内部发生改变多了一个虚函数(表)指针指向虚函数表表的内部写的是虚函数的函数入口地址当子类重写虚函数时会把自身的虚函数表中的函数替换掉替换成子类的函数当用父类的引用指向子类对象时(上图右下角部分)由于本身创建的时Cat/Dog的子类对象所以调用公共的speak接口时会从子类找函数入口地址确定什么就(Cat/Dog)输出什么(Cat/Dog). 代码部分只增加了一个测试函数  #includeiostream using namespace std;//多态//动物类 class Animal { public://虚函数virtual void speak()//void speak(){cout 动物在说话 endl;} };//猫类 class Cat :public Animal { public://重写函数返回值类型 函数名 参数列表 完全相同称为重写void speak()//子类重写时,前面virtual可写可不写{cout 小猫在说话 endl;} };//狗类 class Dog :public Animal { public:void speak(){cout 小狗在说话 endl;} };//执行说话的函数 //地址早绑定 在编译阶段确定函数地址 //如果想执行让猫会说话那么这个函数地址就不能提前绑定需要在运行阶段进行绑定地址晚绑定 //在动物类speak函数前加virtual//动态多态满足条件 //1.有继承关系 //2.子类重写父类的虚函数//动态多态使用 //父类的指针或者引用指向子类对象void doSpeak(Animal animal) //Animal animal cat {animal.speak(); }void test1() {Cat cat;doSpeak(cat);//out:动物在说话 加上virtual之后out:小猫在说话Dog dog;doSpeak(dog);//out:小狗在说话 }void test2() {cout sizeof Animal sizeof(Animal) endl;//未加virtual:1,加上virtual:4 }int main() {//test1();test2();return 0; }
http://www.pierceye.com/news/122613/

相关文章:

  • 台州网站建设团队如何申请建设网站域名
  • 资料查询网站建设桂林微代码网络科技有限公司
  • 做暖视频网站免费番禺网站制作技术
  • 如何做网站百度排名优化深圳市住房和建设网站
  • 汉沽做网站简单网站建设
  • 建信建设投资有限公司网站网站建设app小程序
  • wordpress文章所有图片seo中文含义
  • 免费网站建设开发个人 网站备案 幕布
  • 公司网站设计 优帮云网站开发合同注意事件有哪些
  • 网站建设费用用温州建设局老网站
  • 做网站全部乱码怎么办网络平台销售
  • wordpress建立移动m站wordpress免费主题企业
  • 珠海市网站建设重庆建站公司网站模板
  • 网页设计与网站开发pdf备案网站可以做接码平台么
  • 国外网站国内备案南京网站seo优化公司
  • 岱山县网站建设网站后台管理系统怎么上传
  • 做网站需要什么东西重庆市招投标网官网
  • 潢川手机网站建设戴尔公司网站开发的经营目标
  • 创建网站代码是什么问题wordpress屏蔽广告插件下载
  • 网站接入服务提供商纪检网站建设计划
  • 佛山做网站公司有哪些做拆分盘网站
  • 沈阳做微网站注册一个有限公司需要多少钱
  • 网站首页logo怎么修改优化方案英语答案
  • 东南亚网站建设市场用照片做视频的模板下载网站
  • 做seo网站的公司2网站建设公司
  • phpmysql旅游网站开发wordpress 需要多大数据库
  • 做预算查市场价格的网站阿里巴巴旗下跨境电商平台有哪些
  • 搜狗网站提交入口有哪些做问卷调查赚钱的网站6
  • 上海市住房和城乡建设厅官方网站码上游二维码制作
  • wordpress生活插件上海做网站优化