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

网页制作作业网站领券购买网站是怎么做的

网页制作作业网站,领券购买网站是怎么做的,建设部执业资格注册中心,创业网项目招商4.5 运行时类型信息4.5.1 typeid和type_info4.5.2 dynamic_cast 4.5 运行时类型信息 运行时类型信息#xff08;Run-time Type Information,RTTI#xff09;提供了在程序运行时刻确定对象类型的方法#xff0c;是面向对象程序语言为解决多态问题而引入的一种语言特性。由于… 4.5 运行时类型信息4.5.1 typeid和type_info4.5.2 dynamic_cast 4.5 运行时类型信息 运行时类型信息Run-time Type Information,RTTI提供了在程序运行时刻确定对象类型的方法是面向对象程序语言为解决多态问题而引入的一种语言特性。由于多态的要求C指针或引用可能与他们实际代表的类型不一致如基类指针可以指向派生类对象当将一个多态指针转换为其 实际指向类型对象时就需要知道对象类型信息。 在C中用于支持RTTI的运算符有dynamic_cast, typeid, type_info. 4.5.1 typeid和type_info typeid操作符即可用于类型也可用于对象返回typeinfo对象的常引用用于表示类型信息typeinfo类的成员函数name()可以获取字符串形式的类型信息 #include iostream #include typeinfo using namespace std;int main(void){int i 10;cout typeid(i).name() endl;cout typeid(int).name() endl;int* p1[10]; //指针数组 p1数组中存放10个元素 这10个元素都是int* 类型的int (*p2)[10]; //指针变量 p2指向数组类型的数据数据是有10个元素的int型数组cout typeid(p1).name() endl;cout typeid(p2).name() endl;return 0; } myubuntuubuntu:~/lv19/cplusplus/dy05$ ./a.out i i A10_Pi PA10_itypeinfo类支持 “” 和 “!” 操作符可直接用于类型相同与否的判断如果类型之间存在多态的继承关系typeid还可以利用多态的特性确定实际对象的类型 #include iostream #include typeinfo using namespace std;class A { public:virtual void foo(void) {} };class B : public A { public:void foo(void) {} };class C : public A { public:void foo(void) {} };void func(const A a){if(typeid(a) typeid(B)){ //判断创建的对象 是什么类型的cout B endl;} else if(typeid(a) typeid(C)) {cout C endl;} }int main(void) {B b;C c;func(b);func(c);return 0; } myubuntuubuntu:~/lv19/cplusplus/dy05$ ./a.out B C4.5.2 dynamic_cast 强制类型转换运算符主要用于具有多态继承关系父子类指针或引用之间的显式转换。 语法格式 dynamic_cast 目标类型 (表达式)#include iostream #include typeinfo using namespace std;class Base { public:virtual void foo(void) {} };class Derived : public Base { public:void foo(void) {} };int main(void){Base *pb, b; //基类Derived *pd, d; //子类pd d;pb pd; // Base * ------- Derived * 向上造型 隐式转换 编译时完成 这种转换不安全 后期排查错误不方便pb dynamic_castBase *(d); //显示转换 向上造型 运行时完成的return 0; }向下造型时动态类型转换会对所需转换的基类指针或引用做检查如果其目标确实为期望得到的子类类型的对象则转换成功否则转换失败 #include iostream #include typeinfo using namespace std;class Base { public:virtual ~Base() {} };class Derived : public Base { public:void foo(void) {cout Derived foo() endl;} };int main(void){Base *pb, b;Derived *pd, d;pb b;/** 语法上不报错具有父子关系 具有多态特性* 该转换不合理在运行期间完成转换 转换失败 C认为不安全* */pd dynamic_castDerived *(pb);if(pd) cout ok endl;else cout error endl;// pd reinterpret_castDerived *(pb); // pd (Derived *)pb; //C风格强转 可以编译通过 // pd-foo(); //有问题pd 已经转换成基类的类型了 基类中没有foo()函数pb d; //向上造型 缩小了访问范围pd dynamic_castDerived *(pb); //编译通过 也是合理转换if(pd) cout ok endl;else cout error endl;return 0; }
http://www.hkea.cn/news/14337520/

相关文章:

  • 成都电商网站开发网站免费网站的方法
  • 网站制作哪些类型wordpress登陆密码错误
  • 还有哪些网站可以做H5做一网站要什么软件
  • 手机网站弹出层插件有哪些做旧工艺品网站
  • 新安网站开发莱州网站设计
  • 网站推广的定义及方法网站安全维护
  • 视频网站中滑动列表怎么做的百川网站维护
  • 网站的不足之处网页制作教程答案
  • 快速建立平台网站开发网站模板设计vs简单的网站开发
  • wordpress多站点 主题制作网站 公司简介
  • 实验室网站制作ai绘画软件免费
  • 新塘做网站手机自助建站永久免费
  • 南充网站建设工作室成都锦江建设局网站
  • 怀远县建设局门户网站wordpress 归档
  • 网站建设佰首选金手指三腕表手表网站
  • 罗定网站建设淄博网站建设培训
  • 北京网站建设出名 乐云践新设计师网站外网
  • pc网站开发我的个人主页怎么制作
  • 织梦修改网站标题万网域名注册查询
  • 昆山住房城乡建设局网站查询企业信息服务平台官网
  • 做seo网站的公司哪家好怎么搭建自己的电影网站
  • 昆山网站建设首页网站建设知名
  • 做网站需要向客户了解什么字体设计艺术字
  • 天津先进网站建设指导网站建设案例基本流程
  • 网站稳定性枣庄网站建设电话
  • 专业型企业网站有哪些设计店面装修
  • 罗庄建设局网站广东网站建设公司报价表
  • 济南住宅与房地产信息网官方网站门户网站开发流程
  • 陕西专业网站建设哪家好口碑好的广州做网站
  • 南宁大型网站建设广告公司排名