摘要:
我下载的是win10 Build 14279版本。http://www.iwin10.com/xiazai/1071.html 下载之后就直接拷到U盘安装了。 安装完之后发现(因为我是分区成了两个)我的安装U盘竟然变成了D盘,拔掉后硬盘分成了C盘和E盘。 有强迫症的我于是重装了以便系统。。。发现还是 阅读全文
摘要:
友元使得能够为类开发更灵活的接口。类可以将其他函数、其他类和其他类的成员函数作为友元。在某些情况下,可能需要前向声明,需要特别注意类和方法声明的顺序,以正确地组合友元。潜逃类是在其他类中生命的类,它有助于设计这样的助手类,即实现其他类,单必须是共有接口的组成部分。C++机场机制为处理拙劣的编程事件, 阅读全文
摘要:
C++相对C更严格地限制允许的类型转换,并添加4个类型转换运算符,是转换过程更规范:* dynamic_cast;* const_cast;* static_cast;* reinterpret_cast。【dynamic_cast运算符】假设High和Low是两个类,而ph和pl的类型分别是Hig 阅读全文
摘要:
运行时类型识别RTTI(Runtime Type Identification)C++有三个支持RTTI的元素。* 如果可能的话,dynamic_cast运算符将使用一个指向基类的指针来生成一个指向派生类的指针;否则,该运算符返回0——空指针。* typeid运算符返回一个指出对象的类型的值。* t 阅读全文
摘要:
通常,引发异常的函数将传递一个对象。这样做的重要有点之一是,可以使用不同的异常类型来区分不同的函数在不同情况下引发的异常。另外,对象可以携带信息,程序员可以根据这些信息来确定引发异常的原因。同时,catch块可以根据这些信息来决定采取什么样的措施。下面的两个程序用语言是这个效果。如果函数hmean( 阅读全文
摘要:
C++异常是丢程序运行过程中发生的异常情况(例如被0除)的一种响应。异常提供了将控制权从程序的一个部分传递到另一部分的途径。对异常的处理有3个组成部分:* 引发异常;* 使用处理程序捕获异常;* 使用try块。程序在出现问题时将引发异常。throw语句实际上是跳转,即命令程序跳到另一条语句。thro 阅读全文
摘要:
一种比异常终止更灵活的方法是,使用函数的返回值来指出问题。例如,ostream类的get(void)成员ASCII码,但到达文件尾时,将返回特殊值EOF。对hmean()来说,这种方法不管用。任何树脂都是有效的返回值,因此不存在可用于指出问题的特殊值。在这种情况下,可使用指针参数或引用参数来将值返回 阅读全文
摘要:
以一个计算两个数的调和平均数的函数为例。两个数的调和平均数的定义是:这两个数倒数的平均值的倒数,因此表达式为:1.0 * x * y / (x + y)如果y是x的负值,则上述公式将导致被零除——一种不允许的运算。对于被零除的情况,很多新式编译器通过生成一个表示无穷大的特殊浮点值来处理,cout将这 阅读全文
摘要:
在下面的程序中,我们创建了一个模板类用于实现Queue容器的部分功能,并且在模板类中潜逃使用了一个Node类。queuetp.h 这里,Node是利用通用类型Item类定义的。所以,下面的声明将导致Node被定义成用于存储double值:QueueTp<double> dq;而下面的声明将导致Nod 阅读全文
摘要:
C++提供了集中重用代码的手段。第13章介绍的共有继承能够建立is-a关系,这样派生类可以重用基类的代码。私有继承和保护继承也使得能够重用基类的代码,单建立的是has-a关系。使用私有继承时,积累的公有成员和保护成员将称为派生类的私有成员;使用保护继承时,积累的公有成员和保护成员将称为派生类的保护成 阅读全文