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

个人网站可以做健康付费知识少儿编程培训机构哪里好

个人网站可以做健康付费知识,少儿编程培训机构哪里好,上海展览公司,成都软件开发公司引言 在使用中弄清楚隐藏的区别之后#xff0c;还需要明白怎么使用。下面说以下隐藏#xff0c;重写#xff0c;重载的区别#xff1a; 与重载的区别#xff1a; 在父类与子类中#xff0c;函数名相同#xff0c;参数不同#xff0c;无论父类中的同名函数是否含有virt…引言 在使用中弄清楚隐藏的区别之后还需要明白怎么使用。下面说以下隐藏重写重载的区别 与重载的区别 在父类与子类中函数名相同参数不同无论父类中的同名函数是否含有virtual关键字都是隐藏 与重写的区别 在父类和子类中函数名相同参数相同父类中的同名函数没有virtual关键字为隐藏。 示例 下面举例说明 class Base {public:void funA(){coutfunA()endl;}virtual void funB(){coutfunB()endl;} };class Heri:public Base {public:void funA(){coutfunA():Heriendl;}void funA(int a){coutfunA(int a):heriaendl;}void funB(){coutfunB():heriendl;} };以上示例中基类中的函数funA()与派生类中的函数funA()之间是隐藏其函数名相同参数相同存在于派生类于子类中且基类中的funA()函数前没有virtual关键字故为隐藏。基类的函数funA()与派生类中的函数funA(int a)函数名相同参数不同存在于基类和派生类中无论基类有没有关键字virtual两个函数之间也是隐藏基类函数funB()与派生类函数funB()之间是重写又叫覆盖当重写发生的情况下父类的指针或引用指向子类的对象通过父类的指针或引用调用父子类中被重写的函数实际上调用的是子类的函数这个具体得理解虚函数多态这块这里不再提及。以上是对函数之间关系的一种分析接下来应该看看如何使用隐藏隐藏使用的时候记住一句派生类的指针或引用对象调用子类和父类同名的函数父类的同名函数被子类隐藏调用的是子类的函数当然这句话是针对于隐藏关系的函数的而言。接下来看如何应用。 隐藏的应用 下面是一个小程序上代码 // hideDemo.cpp : 定义控制台应用程序的入口点。 //#include stdafx.h #include iostream #include stdlib.husing namespace std;class Base { public:void fun1(){coutbase:fun1()endl;fun();}virtual void fun(){coutbase:fun()endl;} };class Deriverd:public Base { public:virtual void fun1(){coutderiverd:fun1()endl;}void fun(){coutderiverd:fun()endl;} };int _tmain(int argc, _TCHAR* argv[]) {Base *pb new Deriverd;pb-fun1();system(pause);return 0; }上面是一个小程序输出结果为 之所以输出是上面的结果是因为main函数中创建了父类的指针指向了子类的对象然后通过父类的指针调用具有隐藏关系的fun1()函数该函数在使用时记住一句“派生类的指针引用对象调用父类或者派生类中的同名函数调用的是子类的函数”这句话一听就会被误解pb-fun1();以为调用的是子类的函数fun1()实际并不是上句话有一个前提是派生类的对象或引用指针进行调用而这里是父类的指针调用这样的解释过于牵强我总结出的经验就是隐藏关系的函数谁调用就用谁的函数按照正常的函数调用使用便可得正确的结果这里是父类指针调用就用父类的函数fun1().当然这只适用于作答真正的理解还得从书上给出的解释入手。 巩固 下面基于上面的理解看看下面的程序 // hideDemo.cpp : 定义控制台应用程序的入口点。 //#include stdafx.h #include iostream #include stdlib.husing namespace std;class Base { public:void fun1(){coutbase:fun1()endl;fun();}virtual void fun(){coutbase:fun()endl;} };class Deriverd:public Base { public:virtual void fun1(){coutderiverd:fun1()endl;}void fun(){coutderiverd:fun()endl;} };int _tmain(int argc, _TCHAR* argv[]) {Base *pb new Deriverd;pb-fun1();Deriverd de;de.fun1();Base b;b.fun1();system(pause);return 0; }输出结果 定义派生类对象Deriverd de;通过派生类对象调用fun1(),这里调用的是派生类自己的函数fun1()应了那句“派生类的对象指针引用调用派生类和基类的同名函数调用的是派生类的函数父类的函数被隐藏”定义基类对象 Base b;通过对象b调用函数fun1(), 调用的是基类的函数fun1().然后在fun1()中输出base:fun1()接着调用函数fun(),这里的函数fun()调用的是基类自身的函数fun(),因为没有此时没有涉及到多态这里是父类的对象调用的不是父类的指针或者引用调用。
http://www.zqtcl.cn/news/965965/

相关文章:

  • 网站网页背景颜色 多彩做搜狗网站点击赚钱
  • 门户网站开发 系统介绍wordpress 代码在哪
  • 石家庄网站设计建设门面设计效果图
  • 公司设计网站多少钱月子中心网站设计
  • 网站悬浮微信二维码手机端网站优化排名seo推广
  • 房地产公司网站建设乡村建设规划网站
  • 有没有做高仿手表的网站商会网站模板
  • 网站建设小组网页微博
  • org域名做商业网站弹出快捷菜单一般通过
  • wordpress模板的网站_网页字体怎么修改?网站权重怎么查询
  • 企业门户网站的建设与实现论文莲花直播
  • 做网站公司需要什么职位临沂seo代理商
  • 网站建设和发布的一般流程图wordpress 后端
  • 西安哪有学做淘宝网站html企业网站源码
  • 网站成品超市核心关键词是什么意思
  • 为什么自己花钱做的网站竟然不是自己的 (wordpress排版工具
  • 2017优惠券网站怎么做坪山网站建设特色
  • wordpress 多站点模式望江网站建设
  • 常熟网站制作哪家好平面素材设计网站
  • 网站建设客户怎么找网站建设开发软件
  • 青岛制作企业网站的公司怎么清空WordPress
  • 权重的网站所有网站302跳转百度
  • 做个淘宝客网站怎么做济南网络推广公司排名
  • 西宁网站建设优化东莞建网站公司案例
  • 建设网站iss手工活接单在家做有正规网站吗
  • 六安做网站的公司专门建立网站的公司吗
  • 西昌市建设工程管理局网站wordpress主题知更
  • 企业网站如何上存青岛做外贸网站哪家好
  • 保定网站建设冀icp备织梦设置中英文网站
  • 烟台市建设工程检测站网站妖姬直播