C++RTTI(运行时类型识别)与异常处理解析

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: C++RTTI(运行时类型识别)与异常处理解析

1:RTTI是在只有一个指向基类的指针或引用时所确定的一个对象的类型


RTTI可以在程序运行时通过某一个对象的只恨确定该对象的类型,方便面向对象编程


测试代码如下

#include"stdafx.h"
#include"typeinfo.h"
#include"iostream.h"
class CB {
  virtual void dowork() {};
};
class CD1 :virtual public CB {
};
class CD2 :virtual CB{
};
class CD3 :public CD1, public CD2 {
public:
  //char* print(){ return "hello "; };
};
int main(int argc, char* argv[]) {
  //CB* p = new CD3();
  //cout << typeid(*p).name() << endl;
  //CD3* pd3 = dynamic_cast<CD3*>(p);
  //if (pd3)
    //cout << pd3->print() << endl;
}

2:异常处理


异常处理是程序设计中除调试之外的另一种错误处理方法 可以出错时不中断程序的执行

由try{
}
catch{
}关键字来定义


try里面一般是抛出异常 catch里面一般是异常 处理


测试代码如下


#include<typeinfo>
#include<iostream>
using namespace std;
class cexcept1{};
class cexcept2 {
public:
  cexcept2(cexcept1&e){}
};
int main(int argc, char* argv[]) {
try {
    throw cexcept1();
  }
  catch (cexcept2) {
    cout << "进入except2异常 处理器" << endl;
  }
  catch (cexcept1){
    cout << "进入except1异常处理器" << endl;
    }
}
相关文章
|
1天前
|
程序员 C++
C++编程:While与For循环的流程控制全解析
总结而言,`while`循环和 `for`循环各有千秋,它们在C++编程中扮演着重要的角色。选择哪一种循环结构应根据具体的应用场景、循环逻辑的复杂性以及个人的编程风格偏好来决定。理解这些循环结构的内在机制和它们之间的差异,对于编写高效、易于维护的代码至关重要。
8 1
|
5天前
|
XML JSON 网络协议
超级好用的C++实用库之字节流解析器
超级好用的C++实用库之字节流解析器
|
8天前
|
Java 开发者
Java中的异常处理机制深度解析
在Java编程中,异常处理是保证程序稳定性和健壮性的重要手段。本文将深入探讨Java的异常处理机制,包括异常的分类、捕获与处理、自定义异常以及一些最佳实践。通过详细讲解和代码示例,帮助读者更好地理解和应用这一机制,提升代码质量。
12 1
|
17天前
|
Java 程序员 开发者
Java中的异常处理机制深度解析
本文旨在深入探讨Java中异常处理的核心概念与实际应用,通过剖析异常的本质、分类、捕获及处理方法,揭示其在程序设计中的关键作用。不同于常规摘要,本文将直接切入主题,以简明扼要的方式概述异常处理的重要性及其在Java编程中的应用策略,引导读者快速把握异常处理的精髓。
|
20天前
|
Java 开发者
深入解析Java中的异常处理机制
本文将深入探讨Java中异常处理的核心概念和实际应用,包括异常的分类、捕获、处理以及最佳实践。我们将通过具体示例展示如何有效使用try-catch块、throws关键字和自定义异常类,以帮助读者更好地理解和应用Java异常处理机制。
12 1
|
20天前
|
Java 程序员 开发者
Java中的异常处理机制深度解析
本文旨在深入探讨Java中异常处理的机制,包括异常的分类、如何捕获和处理异常,以及自定义异常的最佳实践。通过实例讲解,帮助读者更好地理解如何在Java编程中有效管理和利用异常处理来提高代码的健壮性和可维护性。
|
5天前
|
缓存 网络协议 分布式数据库
超级好用的C++实用库之DNS解析
超级好用的C++实用库之DNS解析
15 0
|
2月前
|
存储 安全 程序员
|
2月前
|
算法 网络架构
|
2月前
|
监控 网络协议 Java
Tomcat源码解析】整体架构组成及核心组件
Tomcat,原名Catalina,是一款优雅轻盈的Web服务器,自4.x版本起扩展了JSP、EL等功能,超越了单纯的Servlet容器范畴。Servlet是Sun公司为Java编程Web应用制定的规范,Tomcat作为Servlet容器,负责构建Request与Response对象,并执行业务逻辑。
Tomcat源码解析】整体架构组成及核心组件

热门文章

最新文章

推荐镜像

更多
下一篇
无影云桌面