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

青海网站开发建设软件开发计划模板

青海网站开发建设,软件开发计划模板,微网站背景图片,企业可以做哪些网站有哪些RTTI RTTI是什么 RTTI是运行阶段类型识别#xff0c;通过运行时类型识别#xff0c;程序能够使用基类的指针或者引用来检查这些指针或者引用所指向的对象的实际派生类型。 RTTI的三个元素 dynamic_cast运算符 dynamic_cast概念#xff1a; dynamic_cast运算符能够将基…RTTI RTTI是什么 RTTI是运行阶段类型识别通过运行时类型识别程序能够使用基类的指针或者引用来检查这些指针或者引用所指向的对象的实际派生类型。 RTTI的三个元素 dynamic_cast运算符 dynamic_cast概念 dynamic_cast运算符能够将基类的指针或引用安全的转换成派生类的指针或者引用 dynamic_cast语法 dynam_castType*(pt); dynamic_cast案例演示 假设定义了如下类 #includeiostreamusing std::cout; using std::endl;class A { public:virtual void func1() { cout 这是A的func1函数 endl; }virtual void func2() { cout 这是A的func2函数; } }; class B : public A { public:virtual void func1() { cout 这是B的func1函数 endl; }virtual void func2() { cout 这是B的func2函数; }void func3() { cout B的func3函数; } }; class C : public A { public:virtual void func1() { cout 这是C的func1函数 endl; }virtual void func2() { cout 这是C的func2函数; } }; 如何通过基类指针调用派生类的成员函数呢 int main() {A* p_a new B;p_a-func3();return 0; } 这样调用会直接报错因为A类中没有func3函数要使用B类方法必须要将指针转换成B类指针才可以 B* p_b (B*)p_a; //c风格的强制类型转换可能会导致错误p_b-func3() 强制类型转换可以将指针进行转换但无法指出转换的安全性与合适性就好别人传来一个指针你需要确定这个是否为你想要转换的类型这时使用dynamic_cast就非常有必要 B* p_b1 dynamic_castB*(p_a); // p_a指向的是B类型的对象所以可以转换成功 if(p_b1 ! nullptr) cout p_a实际是一个B类型 endl; else cout p_a不是B类型转换失败 endl; 对于引用类型转换失败会报出一个异常std::bad_cast。 A* pa_0 new B; A pa_1 * pa_0 try {B pb_0 dynamic_cast B (pa_1);cout pa_0 是B对象的引用 endl; } catch(std:bad_cast) {cout pa_1 不是对象B的引用 endl; } typeid运算符 typeid运算符概念 typeid运算符拿到对象信息typeid就会返回一个常量对象的引用这个常量对像是一个标准库类型type_info类/类型 typeid用法 typeid(类名typeid(结果为对象的表达式),typeid 常用于确定两个对象是否是同一类型。 案例演示 A* pa1 new B; B* pa2 new B;if(typeid(pa1) typeid(pa2)) cout yes endl; else cout no endl; 注意不要把typeid用来识别指针这样他只是识别定义时的类型应该传递对象。 A* pa1 new B; B* pa2 new B;if(typeid(*pa1) typeid(*pa2)) cout yes endl; else cout no endl; 在这里可以使用等号的原因是type_info类重载了和!运算符所以可以使用这些运算符来进行类型的比较 typeid().name()将返回实际类型 char a; int b; A * pa new B;cout typeid(*pa).name() endl; // 返回class B cout typeid(a).name() endl; // 返回char cout typeid(b).name() endl; // 返回int
http://www.hkea.cn/news/14527449/

相关文章:

  • 邮箱登陆嵌入网站app编程软件有哪些
  • 嘉兴网站托管网站建设需要的网络技术
  • 安全的赣州网站建设wordpress 企业站开发
  • 去年做哪些网站能致富免费个人简历模板网站
  • 手机网站怎么放到桌面上英文网站 建站
  • 做网站百度关键排名网站在线建站
  • 有哪些官方网站做的比较好宁河集团网站建设
  • 网站开发结束语盘锦网站建设公司
  • 学网站开发需要报培训机构吗杭州网站seo优化
  • 建设项目网站备案申请表青岛找网站建设公司哪家好
  • 北京公司建站模板自己做一元购网站
  • 网站服务器地址怎么查询河东网站建设
  • 浏阳网站建设公司对门户网站建设情况的报告
  • 可以自己做漫画的网站域名换了网站需要备案么
  • 安徽住房和城乡建设厅新网站世纪佳缘网站模板
  • 设计师经常上的网站南昌网站建设信息
  • 学校的网站怎么做的好wordpress登录更改域名后
  • 营销网站制作信ls15227无锡网站建设推广服务
  • 网站建设 从用户角度开始有可以花钱让人做问券的网站吗
  • 商品分类批量导入wordpress信息流优化师工作总结
  • 自动成交型网站做图片网站
  • php网站广告管理系统1688加工厂接单
  • 南和邢台网站制作wordpress字菜单
  • 如何在iis下建设网站医疗设备响应式网站
  • 设计师用的素材网站有哪些做网站开发考什么研
  • 大型定制网站最贵建设多少钱WordPress图片直链插件
  • 沈阳网站建设三好街厦门大型网站设计公司
  • 通州专业网站制作台州建站网站模板
  • 免费网站如何注册重庆网站建设方案
  • 西安户县建设厅网站国外分销平台有哪些