知秋一叶

这世界里的每一个人,每一个东西,包括高山大海,刀剑风云,其本质都是一串数字流。...

C++ 面向对象(四)—— 多态 (Polymorphism)

为了能更好的理解本节内容,你需要清楚的知道怎样使用指针pointers 和类之间的继承 inheritance between classes。建议如果你觉得以下这些表达式比较生疏的的话, 请复习指定的章节: int a::b(c) {}; // 类Classes (Section 4.1)...

2016-05-22 12:41:42

阅读数:2395

评论数:0

C++ 面向对象(三)—— 类之间的关系

友元函数(Friend functions) 在前面的章节中我们已经看到了对class的不同成员存在3个层次的内部保护:public, protected 和 private。在成员为 protected 和 private的情况下,它们不能够被从所在的class以外的部分引用。然而,这个规则可...

2016-05-22 12:39:54

阅读数:3522

评论数:0

C++ 面向对象(二)—— 操作符重载

C++ 实现了在类(class)之间使用语言标准操作符,而不只是在基本数据类型之间使用。例如: int a, b, c; a = b + c; 是有效操作,因为加号两边的变量都是基本数据类型。然而,我们是否可以进行下面的操作就不是那么显而易见了(它实际上是正确的): struct { ch...

2016-05-22 12:38:09

阅读数:2330

评论数:0

C++ 面向对象(一)—— 类(Classes)

类(class)是一种将数据和函数组织在同一个结构里的逻辑方法。定义类的关键字为class ,其功能与C语言中的struct类似,不同之处是class可以包含函数,而不像struct只能包含数据元素。 类定义的形式是: class class_name { permiss...

2016-05-22 12:35:07

阅读数:26629

评论数:2

C++ 高级数据类型(六)—— 自定义数据类型

前面我们已经看到过一种用户(程序员)定义的数据类型:结构。除此之外,还有一些其它类型的用户自定义数据类型:   定义自己的数据类型 (typedef) C++ 允许我们在现有数据类型的基础上定义我们自己的数据类型。我们将用关键字typedef来实现这种定义,它的形式是: typedef...

2016-05-22 12:32:36

阅读数:1529

评论数:0

C++ 高级数据类型(五)—— 数据结构

一个数据结构是组合到同一定义下的一组不同类型的数据,各个数据类型的长度可能不同。它的形式是: struct model_name { type1 element1; type2 element2; type3 element3; . . } object_name; 这里m...

2016-05-22 12:31:35

阅读数:1490

评论数:0

C++ 高级数据类型(四)—— 动态内存分配

到目前为止,我们的程序中我们只用了声明变量、数组和其他对象(objects)所必需的内存空间,这些内存空间的大小都在程序执行之前就已经确定了。但如果我们需要内存大小为一个变量,其数值只有在程序运行时 (runtime)才能确定,例如有些情况下我们需要根据用户输入来决定必需的内存空间,那么我们该怎么...

2016-05-22 12:30:18

阅读数:1981

评论数:0

C++ 高级数据类型(三)—— 指针

我们已经明白变量其实是可以由标识来存取的内存单元。但这些变量实际上是存储在内存中具体的位置上的。对我们的程序来说,计算机内存只是一串连续的单字节单元(1byte cell),即最小数据单位,每一个单元有一个唯一地址。 计算机内存就好像城市中的街道。在一条街上,所有的房子被顺序编号,每所房子有唯一...

2016-05-22 12:27:24

阅读数:5562

评论数:0

C++ 高级数据类型(二)—— 字符序列

前面基础知识部分讲C++变量类型的时候,我们已经提到过C++的标准函数库提供了一个string类来支持对字符串的操作。然而,字符串实际就是一串连续的字符序列,所以我们也可以用简单的字符数组来表示它。 例如,下面这个数组: char jenny [20]; 是一个可以存储最多20个字符类型数据的数...

2016-05-22 12:25:52

阅读数:1408

评论数:0

C++ 高级数据类型(一)—— 数组

数组(Arrays) 是在内存中连续存储的一组同种数据类型的元素(变量),每一数组有一个唯一名称,通过在名称后面加索引(index)的方式可以引用它的每一个元素。 也就是说,例如我们有5个整型数值需要存储,但我们不需要定义5个不同的变量名称,而是用一个数组(array)来存储这5个不同的数值。注...

2016-05-22 12:24:32

阅读数:3112

评论数:0

C++ 控制结构和函数(三)—— 函数II(Functions II)

参数按数值传递和按地址传递(Arguments passed by value and by reference) 到目前为止,我们看到的所有函数中,传递到函数中的参数全部是按数值传递的(by value)。也就是说,当我们调用一个带有参数的函数时,我们传递到函数中的是变量的数值而不是变量本身。 ...

2016-05-22 12:08:04

阅读数:1243

评论数:1

C++ 控制结构和函数(二) —— 函数I(Functions I)

通过使用函数(functions)我们可以把我们的程序以更模块化的形式组织起来,从而利用C++所能提供的所有结构化编程的潜力。 一个函数(function)是一个可以从程序其它地方调用执行的语句块。以下是它的格式:   type name ( argument1, argumen...

2016-05-22 12:06:12

阅读数:1133

评论数:0

C++ 控制结构和函数(一) —— 控制结构

一个程序的语句往往并不仅限于线性顺序结构。在程序的执行过程中它可能被分成两支执行,可能重复某些语句,也可能根据一些判断结果而执行不同的语句。因此C++ 提供一些控制结构语句 (control structures) 来实现这些执行顺序。 为了介绍程序的执行顺序,我们需要先介绍一个新概念:语句块(b...

2016-05-22 12:03:00

阅读数:1339

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭