常成员函数不能改变数据成员的值,例如定义坐标类Coordinate,成员函数changeX():void Coordinate::changeX(){ x = 10;}虽然changeX()没有参数,但是它隐含一个参数——this指针:void Coordinate::changeX(Coordin... ...
分类:
其他好文 时间:
2020-02-24 20:36:31
阅读次数:
56
当程序变得庞大时,你需要一些方法把它们分割成更小的,更易管理的片段。为了分割控制流,Scala 提供了所有有经验的程序员都熟悉的方式:把代码分割成函数。实际上,Scala 提供了许多 Java 中没有的定义函数的方式。除了作为对象成员函数的方法之外,还有内嵌在函数中的函数, 函数文本和函数值。本章带 ...
分类:
其他好文 时间:
2020-02-24 15:17:06
阅读次数:
70
当定义一个类时,我们显式地或隐式地指定了此类型的对象在拷贝、赋值和销毁时做什么。一个类通过定义三种特殊的成员函数来控制这些操作,分别是 拷贝构造函数 、 拷贝赋值运算符 和 析构函数 。 拷贝构造函数定义了当用同类型的另一个对象初始化新对象时做什么,拷贝赋值运算符定义了将一个对象赋予同类型的另一个对 ...
分类:
编程语言 时间:
2020-02-24 13:23:18
阅读次数:
86
const成员变量 const成员变量和const普通变量用法相似。初始化const成员变量只有一种方法,就是通过构造函数的初始化列表。 const成员函数 const成员函数可以使用类中的所有成员变量,但是不能修改它们的值。 注意:const成员函数需要在声明和定义的时候在函数头部的结尾加上con ...
分类:
编程语言 时间:
2020-02-23 09:34:03
阅读次数:
74
析构函数 析构函数:是一种特殊的成员函数,没有返回值,不需要程序员显式调用,而是在销毁对象是自动执行。 注意:析构函数没有参数,不能被重载,一个类只有一个析构函数,如果没有定义,编译器会自动生成一个默认的析构函数。 注意:用new分配内存时会调用构造函数,用delete释放内存时会调用析构函数。 析 ...
分类:
编程语言 时间:
2020-02-22 22:25:41
阅读次数:
103
在下面的例子,我们将详细说明如何使用 org.apache.commons.io 包中的 IOUtils类如何使用,通过包名我们可以知道它是 Apache Commons IO 的一部分 。该类的所有成员函数都被用来处理输入 - 输出流,它的确非常利于来编写处理此类事务的程序。IOUtils与其他A ...
分类:
其他好文 时间:
2020-02-22 22:11:24
阅读次数:
154
构造函数 构造函数:是一种特殊的成员函数,它的名字和类名相同,没有返回值,不需要用户显式调用,而是在创建对象时自动执行。 构造函数必须是public属性的,否则创建对象时无法调用。并且构造函数没有返回值。 构造函数的重载 一个类可以有多个重载的构造函数,创建对象时根据传递的实参来判断调用哪一个构造函 ...
分类:
编程语言 时间:
2020-02-22 21:28:52
阅读次数:
50
仿函数(functor) 仿函数(functor),就是使一个类的使用看上去像一个函数。其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了。 仿函数的概念与作用 在我们写代码时有时会发现有些功能实现的代码,会不断的在不同的成员函数中用到,但是又不好将这些代码独 ...
分类:
其他好文 时间:
2020-02-22 10:08:47
阅读次数:
54
当通过指针访问类的成员函数时: 如果该函数是非虚函数:编译器会根据指针的类型找到该函数。 如果该函数是虚函数,并且派生类有同名的函数遮蔽它:编译器会根据指针的指向找到该函数,这就是多态。 对象的内存模型是非常干净的,没有包含任何成员函数的信息,编译器究竟是根据什么找到了成员函数呢? 编译器之所以能通 ...
分类:
编程语言 时间:
2020-02-20 13:40:44
阅读次数:
80
const成员 const成员:被const修饰的成员变量、非静态成员函数 必须类里面初始化 const成员函数 两个同名函数构成了重载 引用类型成员变量必须初始化 拷贝构造函数(copy constructor) 拷贝构造函数是构造函数的一种 当利用已存在的对象创建一个新对象时(类似于拷贝),就会 ...
分类:
其他好文 时间:
2020-02-18 22:07:50
阅读次数:
101