第15章:友元、异常和其他

/* 使用结构来记录知识 - 知识体系 */
本章就 C++ 的旧特效和新特效进行讲解。

1. 访问类的内部成员方式:

  • a. 使用 friend 关键字,声明友元关系,可以访问类的内部成员;
  • b. 将类嵌入内部,从而访问类的内部成员。

2. 异常:

  • a. try - catch - throw 组成的异常判断和处理的代码段;
  • b. 标准异常库:exception -> logic_error / runtimer_error / bad_alloc
  • c. 异常默认处理:set_terminate / set_unexpected

3. 其他:

  • a. RTTI(Runtime Type Identification):运行阶段类型识别。
    dynamic_cast 允许将一个基类指针赋值给一个子类指针;
    typeid 返回一个指定对象的类型;
    type_info 存储类型的信息。
  • b. 强制类型转换:
    dynamic_cast(RTTI);
    const_cast(去除 const、volatile修饰符);
    static_cast(大范围+派生类 -> 小范围+基类);
    reinterpret_cast(不同类型、值相同的转换,如:地址/long -> 指针)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 13,149评论 1 51
  • 这篇文章也许会持续更新,也欢迎大家提出问题,一起探讨。原文地址AC4Fun,转载请注明出处。 **********...
    羲牧阅读 10,283评论 7 23
  • 1. C++基础知识点 1.1 有符号类型和无符号类型 当我们赋给无符号类型一个超出它表示范围的值时,结果是初始值...
    Mr希灵阅读 18,084评论 3 82
  • 1. 让自己习惯C++ 条款01:视C++为一个语言联邦 为了更好的理解C++,我们将C++分解为四个主要次语言:...
    Mr希灵阅读 7,923评论 0 13
  • 毕业几年,每次听到大学同学说~哇这么多年你为什么还是老样子,没有什么变化,还像大一一样傻乎乎的~我就很开心,我觉得...
    crystal麦田守望者阅读 2,675评论 0 0