C++ Primer Plus 第十五章笔记

1.      友元类的所有方法都可以访问原始类的私有成员和保护成员,其声明可以位于公有、私有或保护部分。

2.      包含意味着将类对象作为另一个类的成员,而对类进行嵌套不创建类成员,而是定义了一种类型,该类型仅在包含嵌套类声明的类中有效。

3.      嵌套类的作用域:

(1)      嵌套类在另一个类的私有部分声明,则只有后者知道它;

(2)      在另一个类的保护部分声明,则它对于后者来说是可见的,但对外部世界是不可见的。

(3)      在另一个类的共有部分声明,则允许后者、后者的派生类以及外部世界使用它。

4.      abort()函数的原型位于头文件cstdlib中,其典型实现是向标准错误流发送消息,然后终止程序。它返回一个随实现而异的值,告诉操作系统,处理失败;而使用exit()函数也可终止程序,将刷新文件缓冲区,但不显示消息。

5.      异常机制:

(1)      try块:标识其中特定的异常可能被激活的代码块,后面跟一个或多个catch

(2)      异常处理程序:以关键字catch开头,随后是位于括号中的类型声明,指出了异常处理程序要响应的异常类型;然后是一个用花括号括起的代码块,指出采取的措施。

(3)      throw语句:表示印发异常,紧随其后的值指出了异常的特征。

6.      如果函数引发了异常而没有try块或没有匹配的处理程序时,在默认情况下,最终将调用abort()函数。

7.      RTTI(运行阶段类型识别)只适用于包含虚函数的类。

8.      支持RTTI的元素:

(1)      dynamic_cast:如果指向的对象(*pt)的类型为Type或者是从Type直接或间接派生而来的类型,则下面的表达式将指针pt转换为Type类型的指针:dynamic_cast<Type *>(pt),否则结果为0,即空指针。其也可用于引用,当请求不正确时,将引发类型为bad_cast的异常。

(2)      typeid:能够确定两个对象是否为同种类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值