5 类
5.1 改进5.1节的Counter类,让它不要在Int.MaxValue时变成负数
Scala代码
class Count{
private var value = Int.MaxValue
def increment(){if(value 1 else value }
def current = value
} ...
分类:
其他好文 时间:
2015-08-20 17:04:19
阅读次数:
275
4 映射和元组
4.1 设置一个映射,其中包含你想要的一些装备,以及它们的价格。然后构建另一个映射,采用同一组键,但是价格上打9折
映射的简单操作
Shell代码
scala> val map = Map("book"->10,"gun"->18,"ipad"->1000)
map: scala.collection.immutable.Map[ja...
分类:
其他好文 时间:
2015-08-20 13:12:32
阅读次数:
158
3 数组相关操作
3.1 编写一段代码,将a设置为一个n个随机整数的数组,要求随机数介于0(包含)和n(不包含)之间
random和yield的使用
Scala代码
import scala.math.random
def randomArray(n:Int)={
for(i 0 until n) yield (random * n)....
分类:
编程语言 时间:
2015-08-20 01:28:18
阅读次数:
581
2 控制结构和函数
2.1 一个数字如果为正数,则它的signum为1;如果是负数,则signum为-1;如果为0,则signum为0.编写一个函数来计算这个值
简单的逻辑判断
Scala代码
def signum(num:Int){if(num>0)print(1)else if(num0)print(-1)else print(0)}
S...
分类:
其他好文 时间:
2015-08-19 20:47:05
阅读次数:
112
一.相关知识
使用其他人已经创建并调试过的类:
关键是使用类而不是更改已存在的代码。这一章将介绍两种完成这件事的方法。第一种方法是很直接的:简单地创建一个包含已存在的类对象的新类,这称为组合,因为这个新类是由已存在类的对象组合的。
第二种方法更巧妙,创建一个新类作为一个已存在类的类型,采取这个已存在类的形式,对它增加代码,但不修改它。这个有趣的活动被称为继承,其中大量的工作由...
分类:
编程语言 时间:
2015-08-11 01:24:35
阅读次数:
182
一.相关知识点
重载new和delete
当创建一个new表达式时有两件事发生。首先,使用运算符new分配内存,然后调用构造函数。在delete表达式里,调用析构函数,然后使用运算符delete释放内存。我们永远无法控制构造函数和析构函数的调用(否则我们可能意外地搅乱它们),但可以改变内存分配函数运算符new和delete。
被new和delete使用的内存分配系统是为通用目的...
分类:
编程语言 时间:
2015-08-10 00:33:29
阅读次数:
141
一.相关代码
1.
/*运算符重载语法*/
/*OPOVER.cpp*/
/*这两个重载的运算符被定义为内联成员函数。对于二元运算符,单个参数是出现在运算符
右侧的那个。当一元运算符被定义为成员函数时,没有参数。成员函数被运算符左侧的对象调
用。
对于非条件运算符(条件运算符通常返回一个布尔值),如果两个参数是相同的类型,希
望返回和运算相同类型的对象或引用。如果它们不是相同类型,它作什么样的...
分类:
编程语言 时间:
2015-08-09 00:26:43
阅读次数:
149
一.相关知识点
使用引用时有一定的规则:
1) 当引用被创建时,它必须被初始化。(指针则可以在任何时候被初始化。)
2) 一旦一个引用被初始化为指向一个对象,它就不能被改变为对另一个对象的引用。(指针则可以在任何时候指向另一个对象。)
3) 不可能有NULL引用。必须确保引用是和一块合法的存储单元关连。
仅当准备用传值的方式传递类对象时,才需要拷贝构造函数。如果不需要这么做,就不要拷...
分类:
编程语言 时间:
2015-08-03 21:00:45
阅读次数:
142
一.相关知识点
那些通常放在头文件里的名字,像常量、内联函数(inline function),在缺省情况下都是内部连接的(当然常量只有在C + +中缺省情况下是内部连接的,在 C中它缺省为外部连接)。注意连接只引用那些在连接/装载期间有地址的成员,因此类声明和局部变量并没有连接。
名字空间的产生与一个类的产生非常相似:
namespace MyLib{
//D...
分类:
编程语言 时间:
2015-08-03 14:37:30
阅读次数:
127
一.相关知识点
任何在类中定义的函数自动地成为内联函数,但也可以使用inline关键字放在类外定义的函数前面使之成为内联函数。但为了使之有效,必须使函数体和声明结合在一起,否则,编译器将它作为普通函数对待。因此
inline int PlusOne(int x);
没有任何效果,仅仅只是声明函数(这不一定能够在稍后某个时候得到一个内联定义)。成功的方法如下:
inline int Plus...
分类:
编程语言 时间:
2015-08-01 06:27:40
阅读次数:
161