- 博客(13)
- 资源 (3)
- 收藏
- 关注
原创 C++从零开始(十一)下篇——类的相关知识
C++从零开始(十一)下篇 ——类的相关知识 由于篇幅限制,本篇为《C++从零开始(十一)》的下篇,讨论多态性及一些剩下的问题。 虚的含义 本文的中篇已经介绍了虚的意思,就是要间接获得,并且举例说明电视机的频道就是让人间接获得电视台频率的,因此其从这个意义上说是虚的,因为它可能操作失败——某个频道还未调好而导致一片雪花。并且说明了间接的好处,就是只用编好一段代码(按5频道),
2004-07-28 02:57:00 2692 4
原创 C++从零开始(十一)中篇——类的相关知识
C++从零开始(十一)中篇 ——类的相关知识 本文关于虚函数的论述有一处严重错误,关于此错误已在本文的评论中说明,对此造成的不便,在此深感抱歉。 由于篇幅限制,本篇为《C++从零开始(十一)》的中篇,说明多重继承、虚继承和虚函数的实现方式。多重继承 这里有个有趣的问题,如下: struct A { long a, b, c; char d; };
2004-07-27 12:52:00 2733
原创 C++从零开始(十一)上篇——类的相关知识
C++从零开始(十一)上篇 ——类的相关知识 前面已经介绍了自定义类型的成员变量和成员函数的概念,并给出它们各自的语义,本文继续说明自定义类型剩下的内容,并说明各自的语义。 权限 成员函数的提供,使得自定义类型的语义从资源提升到了具有功能的资源。什么叫具有功能的资源?比如要把收音机映射为数字,需要映射的操作有调整收音机的频率以接收不同的电台;调整收音机的音量;打开和关闭收音机
2004-07-25 17:20:00 3303 3
原创 C++从零开始(十)——何谓类
C++从零开始(十) ——何谓类 前篇说明了结构只不过是定义了内存布局而已,提到类型定义符前还可以书写class,即类型的自定义类型(简称类),它和结构根本没有区别(仅有一点小小的区别,下篇说明),而之所以还要提供一个class,实际是由于C++是从C扩展而成,其中的class是C++自己提出的一个很重要的概念,只是为了与C语言兼容而保留了struct这个关键字。不过通过前面括号中所
2004-07-25 17:18:00 2832 6
原创 C++从零开始(九)——何谓结构
C++从零开始(九) ——何谓结构 前篇已经说明编程时,拿到算法后该干的第一件事就是把资源映射成数字,而前面也说过“类型就是人为制订的如何解释内存中的二进制数的协议”,也就是说一个数字对应着一块内存(可能4字节,也可能20字节),而这个数字的类型则是附加信息,以告诉编译器当发现有对那块内存的操作语句(即某种操作符)时,要如何编写机器指令以实现那个操作。比如两个char类型的数字
2004-07-17 14:32:00 3247 6
原创 C++从零开始(八)——C++样例一
C++从零开始(八) ——C++样例一 前篇说明了函数的部分实现方式,但并没有说明函数这个语法的语义,即函数有什么用及为什么被使用。对于此,本篇及后续会零散提到一些,在《C++从零开始(十二)》中再较详细地说明。本文只是就程序员的基本要求——拿得出算法,给得出代码——给出一些样例,以说明如何从算法编写出C++代码,并说明多个基础且重要的编程概念(即独立于编程语言而存在的概念)。 由算
2004-07-14 14:55:00 3237 7
原创 C++从零开始(七)——何谓函数
C++从零开始(七) ——何谓函数 本篇之前的内容都是基础中的基础,理论上只需前面所说的内容即可编写出几乎任何只操作内存的程序,也就是本篇以后说明的内容都可以使用之前的内容自己实现,只不过相对要麻烦和复杂许多罢了。 本篇开始要比较深入地讨论C++提出的很有意义的功能,它们大多数和前面的switch语句一样,是一种技术的实现,但更为重要的是提供了语义的概念。所以,本篇开始将
2004-07-11 21:42:00 3775 13
原创 C++从零开始(六)——何谓语句
C++从零开始(六) ——何谓语句 前面已经说过程序就是方法的描述,而方法的描述无外乎就是动作加动作的宾语,而这里的动作在C++中就是通过语句来表现的,而动作的宾语,也就是能够被操作的资源,但非常可惜地C++语言本身只支持一种资源——内存。由于电脑实际可以操作不止内存这一种资源,导致C++语言实际并不能作为底层硬件程序的编写语言(即使是C语言也不能),不过各编译器厂商都提供了自己的嵌
2004-07-07 20:20:00 2864 10
原创 C++从零开始(五)——何谓指针
C++从零开始(五) ——何谓指针 (本文由于为初次书写,思考不全,容易引起概念混乱,不建议阅读,请另参看《指针及其语义和运用》) 本篇说明C++中的重中又重的关键——指针类型,并说明两个很有意义的概念——静态和动态。数组 前面说了在C++中是通过变量来对内存进行访问的,但根据前面的说明,C++中只能通过变量来操作内存,也就是说要操作某块内存,就必须先
2004-07-07 20:18:00 3418 6
原创 C++从零开始(四)——赋值操作符
C++从零开始(四) ——赋值操作符 本篇是《C++从零开始(二)》的延续,说明《C++从零开始(二)》中遗留下来的关于表达式的内容,并为下篇指针的运用做一点铺垫。虽然上篇已经说明了变量是什么,但对于变量最关键的东西却由于篇幅限制而没有说明,下面先说明如何访问内存。 赋值语句 前面已经说明,要访问内存,就需要相应的地址以表明访问哪块内存,而变量是一个映射,因此变量名就相当于一
2004-07-07 20:16:00 3004 9
原创 C++从零开始(三)——何谓变量
C++从零开始(三) ——何谓变量 本篇说明内容是C++中的关键,基本大部分人对于这些内容都是昏的,但这些内容又是编程的基础中的基础,必须详细说明。 数字表示 数学中,数只有数值大小的不同,绝不会有数值占用空间的区别,即数学中的数是逻辑上的一个概念,但电脑不是。考虑算盘,每个算盘上有很多列算子,每列都分成上下两排算子。上排算子有2个,每个代表5,下排算子有4个,每个代表1(这
2004-07-07 20:14:00 3379 7
原创 C++从零开始(二)——何谓表达式
C++从零开始(二) ——何谓表达式 本篇是此系列的开头,在学英语时,第一时间学的是字母,其是英语的基础。同样,在C++中,所有的代码都是通过标识符(Identifier)、表达式(Expression)和语句(Statement)及一些必要的符号(如大括号等)组成,在此先说明何谓标识符。标识符 标识符是一个字母序列,由大小写英文字母、下划线及数字组成,用于标识。
2004-07-07 20:12:00 3345 2
原创 C++从零开始(一)——何谓编程
C++从零开始(一) ——何谓编程 引言 曾经有些人问我问题,问得都是一些很基础的问题,但这些人却已经能使用VC编一个对话框界面来进行必要的操作或者是文档/视界面来实时接收端口数据并动态显示曲线(还使用了多线程技术),却连那些基础的问题都不清楚,并且最严重的后果就是导致编写出拙劣的代码(虽然是多线程,但真不敢恭维),不清楚类的含义,混杂使用各种可用的技术来达到目的(连用异常代替选择语
2004-07-07 20:09:00 5151 24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人