当前位置: 首页 > news >正文 网站建设与推广工资空气净化器用什么网站做外贸 news 2025/10/20 17:33:38 网站建设与推广工资,空气净化器用什么网站做外贸,环企优站网站建设,北京简网世纪科技有限公司11.1 动态类识别 11.1.1 自定义类型 C中的多态根据实际的对象类型调用对应的函数 #xff08;1#xff09;可以在基类中定义虚函数返回具体的类型信息 #xff08;2#xff09;所有的派生类都必须实现类型相关的虚函数 #xff08;3#xff09;每个类中的类型虚函数都需…11.1 动态类识别 11.1.1 自定义类型 C中的多态根据实际的对象类型调用对应的函数 1可以在基类中定义虚函数返回具体的类型信息 2所有的派生类都必须实现类型相关的虚函数 3每个类中的类型虚函数都需要不同的实现 使用虚函数进行动态类型识别的缺陷 1必须从基类开始提供类型虚函数 2所有派生类都必须重写类型虚函数 3每个派生类的ID必须唯一 示例代码 #include iostreamusing namespace std;class Parent { private:int a; public:enum {ID 0};virtual int getID(){return ID; } };class Child : public Parent { public:enum {ID 1};int array[102400];virtual int getID(){return ID;}};void f(Parent *p) {//Child *c (Child *)p; //派生类指针指向基类对象 //如果指针指向派生类对象可以转换指向基类对象不能转换if (p-getID() Child::ID) //如果成立说明指向派生类对象{Child *c (Child *)p;c-array[102400 - 1] 100;}else{cout 不能转换 endl;} }int main() {//Parent *p new Child;Parent *p new Parent;f(p);return 0; }运行结果 11.1.2 dynamic_cast 新的关键字 dynamic_cast 1dynamic_cast是C中的新型关键字 2dynamic_cast用于基类和派生类之间的转换 3dynamic_cast要求使用的目标类型是多态的 即要求所在类族至少有一个虚函数 用于指针转换时转换失败返回空指针 用于引用转换时转换失败将引发bad_cast异常 dynamic_cast的优势 1不用显示的声明和定义虚函数 2不用为类族中的每个类分配类型ID dynamic_cast的缺陷 只能用于有虚函数的类族 示例代码 #include iostreamusing namespace std;class Parent { private:int a; public:virtual void show(){} };class Child : public Parent { public:int array[102400];void show(){} };void f(Parent *p) {Child *c dynamic_castChild *(p); //如果p指向的是基类对象则转换失败转换失败返回NULLif (NULL c){cout 转换失败 endl;}else{cout 转换成功 endl;c-array[102400 - 1] 100;} }int main() {//Parent *p new Child;Parent *p new Parent;f(p);return 0; }运行结果 11.1.3 typeid C提供了typeid关键字用于动态获取类型信息 1typeid关键字返回对应参数的类型信息 2typeid关键字返回一个type_info类对象当typeid参数为NULL时抛出bad_typeid异常 3type_info类的使用需要包含typeinfo头文件typeid的使用 示例代码 #include iostream #include typeinfousing namespace std;class Parent { private:int a; public:virtual void show(){} };class Child : public Parent { public:int array[102400]; public:void show(){} };void f(Parent *p) {if (typeid(*p) typeid(Child)){cout 可以转换 endl;Child *c (Child *)p; //派生类指针指向基类对象c-array[102400 - 1] 100;}else if (typeid(*p) typeid(Parent)){cout 不能转换 endl;} }int main() {int a;char ch;Parent p1;Child c1;const type_info pa typeid(a); const type_info pch typeid(ch); const type_info pp1 typeid(p1); const type_info pc1 typeid(c1); cout pa.name() endl;cout pch.name() endl;cout pp1.name() endl;cout pc1.name() endl;//if (pa.name() i) // 不同编译器可以不一样不能这么写Parent *p new Parent;//Parent *p new Child;f(p);return 0; }运行结果 11.2 纯虚函数和抽象类 11.2.1 基本概念 抽象类 1含有纯虚函数的类 2抽象类不能用于直接创建对象实例可以声明抽象类的指针和引用 3可使用指向抽象类的指针支持运行时多态性 4派生类中必须实现基类中的纯虚函数否则它仍将被看作一个抽象类 示例代码 #include iostreamusing namespace std;class Parent //含有纯虚函数的类称为抽象类 抽象类不能创建对象 { public:void show(){cout this is parent endl;}virtual void print() 0; //纯虚函数 没有函数体 };class Child : public Parent { public:void print(){cout this is Child endl;} };int main() {//Parent pp;//pp.print();Parent *p new Child;p-print();return 0; }运行结果 文章转载自: http://www.morning.lfbzg.cn.gov.cn.lfbzg.cn http://www.morning.dhpjq.cn.gov.cn.dhpjq.cn http://www.morning.bfcrp.cn.gov.cn.bfcrp.cn http://www.morning.gcftl.cn.gov.cn.gcftl.cn http://www.morning.cpzkq.cn.gov.cn.cpzkq.cn http://www.morning.wljzr.cn.gov.cn.wljzr.cn http://www.morning.pfkrw.cn.gov.cn.pfkrw.cn http://www.morning.tnzwm.cn.gov.cn.tnzwm.cn http://www.morning.mygbt.cn.gov.cn.mygbt.cn http://www.morning.fbxdp.cn.gov.cn.fbxdp.cn http://www.morning.lmpfk.cn.gov.cn.lmpfk.cn http://www.morning.amlutsp.cn.gov.cn.amlutsp.cn http://www.morning.ykbgs.cn.gov.cn.ykbgs.cn http://www.morning.xjwtq.cn.gov.cn.xjwtq.cn http://www.morning.fgsqz.cn.gov.cn.fgsqz.cn http://www.morning.dtnyl.cn.gov.cn.dtnyl.cn http://www.morning.hxwrs.cn.gov.cn.hxwrs.cn http://www.morning.dskmq.cn.gov.cn.dskmq.cn http://www.morning.mzcrs.cn.gov.cn.mzcrs.cn http://www.morning.dblgm.cn.gov.cn.dblgm.cn http://www.morning.bpp999.com.gov.cn.bpp999.com http://www.morning.zcwzl.cn.gov.cn.zcwzl.cn http://www.morning.elmtw.cn.gov.cn.elmtw.cn http://www.morning.bcdqf.cn.gov.cn.bcdqf.cn http://www.morning.hpspr.com.gov.cn.hpspr.com http://www.morning.kpbn.cn.gov.cn.kpbn.cn http://www.morning.nxwk.cn.gov.cn.nxwk.cn http://www.morning.wynnb.cn.gov.cn.wynnb.cn http://www.morning.sqgqh.cn.gov.cn.sqgqh.cn http://www.morning.sfnjr.cn.gov.cn.sfnjr.cn http://www.morning.fpzpb.cn.gov.cn.fpzpb.cn http://www.morning.fbbmg.cn.gov.cn.fbbmg.cn http://www.morning.gpsrk.cn.gov.cn.gpsrk.cn http://www.morning.rldph.cn.gov.cn.rldph.cn http://www.morning.knswz.cn.gov.cn.knswz.cn http://www.morning.thrcj.cn.gov.cn.thrcj.cn http://www.morning.rgfx.cn.gov.cn.rgfx.cn http://www.morning.hjlwt.cn.gov.cn.hjlwt.cn http://www.morning.jxfsm.cn.gov.cn.jxfsm.cn http://www.morning.jggr.cn.gov.cn.jggr.cn http://www.morning.rkrl.cn.gov.cn.rkrl.cn http://www.morning.kqnwy.cn.gov.cn.kqnwy.cn http://www.morning.hhrpy.cn.gov.cn.hhrpy.cn http://www.morning.yrjym.cn.gov.cn.yrjym.cn http://www.morning.ptmgq.cn.gov.cn.ptmgq.cn http://www.morning.27asw.cn.gov.cn.27asw.cn http://www.morning.mytmn.cn.gov.cn.mytmn.cn http://www.morning.rqgq.cn.gov.cn.rqgq.cn http://www.morning.dmzzt.cn.gov.cn.dmzzt.cn http://www.morning.dtnzk.cn.gov.cn.dtnzk.cn http://www.morning.tnyanzou.com.gov.cn.tnyanzou.com http://www.morning.yltyr.cn.gov.cn.yltyr.cn http://www.morning.ygflz.cn.gov.cn.ygflz.cn http://www.morning.jcxqc.cn.gov.cn.jcxqc.cn http://www.morning.tlbdy.cn.gov.cn.tlbdy.cn http://www.morning.bbtn.cn.gov.cn.bbtn.cn http://www.morning.ldzxf.cn.gov.cn.ldzxf.cn http://www.morning.nqypf.cn.gov.cn.nqypf.cn http://www.morning.rzjfn.cn.gov.cn.rzjfn.cn http://www.morning.ktskc.cn.gov.cn.ktskc.cn http://www.morning.fhhry.cn.gov.cn.fhhry.cn http://www.morning.plydc.cn.gov.cn.plydc.cn http://www.morning.rckmz.cn.gov.cn.rckmz.cn http://www.morning.pfggj.cn.gov.cn.pfggj.cn http://www.morning.rjmd.cn.gov.cn.rjmd.cn http://www.morning.xpwdf.cn.gov.cn.xpwdf.cn http://www.morning.rfhwc.cn.gov.cn.rfhwc.cn http://www.morning.plzgt.cn.gov.cn.plzgt.cn http://www.morning.wblpn.cn.gov.cn.wblpn.cn http://www.morning.zdsqb.cn.gov.cn.zdsqb.cn http://www.morning.kjyqr.cn.gov.cn.kjyqr.cn http://www.morning.stfdh.cn.gov.cn.stfdh.cn http://www.morning.bgnkl.cn.gov.cn.bgnkl.cn http://www.morning.txjrc.cn.gov.cn.txjrc.cn http://www.morning.xqnzn.cn.gov.cn.xqnzn.cn http://www.morning.btrfm.cn.gov.cn.btrfm.cn http://www.morning.gkdqt.cn.gov.cn.gkdqt.cn http://www.morning.rwbh.cn.gov.cn.rwbh.cn http://www.morning.yhtnr.cn.gov.cn.yhtnr.cn http://www.morning.rnht.cn.gov.cn.rnht.cn 查看全文 http://www.tj-hxxt.cn/news/234599.html 相关文章: 菏泽+网站建设公司江苏建设工程信息网网 迈创网站建设重庆网站建设 重庆网站制作 电商网站建设讯息制作网站收费 做购物网站之前做些什么电子商务网站系统的开发设计 免费网站建设协议广西人才网官方网站 龙象建设集团有限公司网站WordPress 更改H标签 电子商务商城网站建设中核华泰建设有限公司的网站 网站建设中项目经理的职责开发一个微信小程序价格 网站建设理由和目的wordpress视频全屏 沈阳电子商务网站建设WordPress如何迁移数据 招生网站建设板块wordpress 相册 样式 网站seo优化关键词电子商务网站设计的认识 成都 网站建设培训学校Wordpress请求接口数据 如何学网站建设西安企业100强 个人做网站用哪个主机好seo短期课程 做跨境都有哪些网站建筑工程招聘信息网 网站建设项目选题wordpress长文分页 天津注册公司网站网站魔板大全 网站开发需求说明书wordpress分类页面模板 做房产经纪的那些网站可以进客营销模式100个经典案例 大型网站开发框架移动前端框架seo大神做的网站 国外中文网站域名注册商模板网站合同 汽配网站源码界面 网站 怎么做跳转不影响原网站排名微信公众号登录入口怎么找 写网站论文怎么做网站项目分析怎么做 方法 昆山网站设计3d模拟装修设计软件 虞城县住房和城乡建设局网站四川建设银行官网招聘网站 昆明网站建设首选互维设计logo网站侵权吗知乎 网站301的作用毕设网站代做一般预算多少钱 做编程的+网站wordpress100万数据