- 博客(26)
- 收藏
- 关注
原创 第17章 输入、输出和文件
1.流和缓冲区 C++程序把输入和输出看做字节流。输入时,程序从输入流中抽取字节;输出时,程序将字节插入到输出流中。通过缓冲区可以更高效地处理输入和输出。缓冲区是用作中介的内存块,它是将信息从设备传输到程序或从程序传输给设备的临时存储工具。输出时,程序首先填满缓冲区,然后把整块数据传输给硬盘,并清空缓冲区,以备下一批输出使用,这被称为刷新缓冲区。http://p.blog.csdn
2009-10-26 14:10:00 1314 2
原创 第16章 string类和标准模板库
1.string类 string类是由头文件string支持的(注意,头文件string.h和cstring支持对C-风格字符串进行操纵的C库字符串函数,但不支持string类)。1)构造函数 一些符号说明:ctor是传统C++中构造函数的缩写。string实际上是模板规范basic_string的一个typedef,同时省略了与内存管理相关的参数。size_type是
2009-10-26 14:09:00 623
原创 第15章 友元、异常和其他
1.友元类 友元类的所有方法都可以访问原始类的私有成员和保护成员。友元声明可以位于公有、私有或保护部分,其所在的位置无关紧要。下面的例子是一个电视机Tv类和它的友元类Remote类。由于后者提到了前者,所以编译器必须了解Tv类后,才能处理Remote类,为此,最简单的方法是首先定义Tv类。另一种方法是,可以使用前向声明(forward declaration),这将在后面介绍。/
2009-10-22 14:54:00 380
原创 第14章 C++中的代码重用
公有继承是实现代码重用的机制之一,但并不是唯一的机制。本章介绍包含、私有继承和保护继承,他们用于实现has-a关系,即新的类包含另一个类的对象。而公有继承实现的是is-a关系。1.包含对象成员的类 包含(containment),又叫组合(composition)或层次化(layering). Valarray类简介:http://p.blog.csdn
2009-10-15 14:29:00 646
原创 第13章 类继承
下面出现的例子中,RatedPlayer类为派生类,TableTennisPlayer类为基类。 1.基本知识 使用公有派生,基类的公有成员将成为派生类的公有成员;基类的私有成员也将成为派生类的一部分,但只能通过基类的公有和保护方法访问。友元不能是虚函数,因为友元不是类成员,而只有成员才能是虚函数。 一个举例:// tabtenn1.h -- simple
2009-10-13 17:44:00 806 2
原创 第12章 类和动态内存分配
1.静态类成员 // strngbad.h -- flawed string class definition ...class StringBad{private: ... static int num_strings; // number of objectspublic: ...};// strn
2009-10-08 13:10:00 545
原创 第11章 使用类
1.简单的操作符重载范例要重载操作符,需使用被称为操作符函数的特殊函数形式。操作符函数格式如下:operator op(argument-list)// mytime2.h -- Time class after operator overloading#ifndef MYTIME2_H_#define MYTIME2_H_class Time{private:
2009-10-06 19:02:00 478 2
原创 第10章 对象和类
1.一些概念 OOP(object oriented programming)面向对象编程。 不必在类声明中使用关键字private,这是类对象的默认访问控制。 类和结构之间唯一的区别是,结构的默认访问类型是public,而类为private。通常使用类来实现类描述,而把结构限制为只表示纯粹的数据对象或没有私有部分的类。http://p.blog.csdn.
2009-10-05 17:47:00 264
原创 第9章 内存模型和名称空间
1.头文件管理 一般可将程序分为3部分: (1)头文件:包含结构声明和使用这些结构的函数的原型。(2)源代码文件:包含与结构有关的函数的代码。(3)源代码文件:包含调用与结构相关的函数的代码。 注意,只要将源代码文件加入到工程中,而不用加入头文件。这是因为#include指令管理头文件。另外,不要使用#include来包含源代码文件,这样将导致多重声明。
2009-09-30 14:37:00 354
原创 第8章 函数探幽
1.内联函数http://p.blog.csdn.net/images/p_blog_csdn_net/xuanya0214/EntryImages/20090928/1633897599930625000.jpghttp://p.blog.csdn.net/images/p_blog_csdn_net/xuanya0214/EntryImages/20090928/26338975999
2009-09-28 18:16:00 374
原创 第7章 函数-----C++的编程模块
1.使用数组区间的函数 传统C/C++方法是将指向数组起始处的指针作为一个参数,将数组长度作为第二个参数。还有另一种方法是指定元素区间,这可以通过传递两个指针来完成:一个指针标识数组的开头,另一个指针标识数组的尾部。 假设有double elboud[20];则指针elboud和elboud+20定义了区间。表达式elboud+19指向最后一个元素(elboud[19]
2009-09-27 21:55:00 229
原创 第6章 分支语句和逻辑操作符
1.字符函数库cctypehttp://p.blog.csdn.net/images/p_blog_csdn_net/xuanya0214/EntryImages/20090927/6.jpg2.break和continue语句http://p.blog.csdn.net/images/p_blog_csdn_net/xuanya0214/EntryImages/20090927/16
2009-09-27 18:55:00 238
原创 第5章 循环和关系表达式
1.前缀(prefix)版本和后缀(postfix)版本后缀版本a++ 表示先计算表达式再a+1; 前缀++a表示a+1后再用新值来计算表达式的值。虽然在程序行为上,两种版本对程序结果不会有什么区别,但由于后缀版本要先复制一个拷贝,然后将拷贝的版本返回。因此,对于内置类型,采用哪种格式不会有差别;但对于用户定义的且有用户定义的递增和递减操作符的类型,前缀格式的效率更高。2.C-风格字符串
2009-09-27 15:19:00 228
原创 第4章 复合类型
1.拼接字符串常量http://p.blog.csdn.net/images/p_blog_csdn_net/xuanya0214/EntryImages/20090911/111633882664585781250.jpg 2.字符串读取行输入的问题getline()和get()的用法:http://p.blog.csdn.net/images/p_blog_csdn_net
2009-09-11 11:45:00 262
原创 第3章 处理数据
1.用climits来检查short,int,long等类型的大小climits中的符号常量: http://p.blog.csdn.net/images/p_blog_csdn_net/xuanya0214/EntryImages/20090911/111633882602323906250.jpg http://p.blog.csdn.net/images/p_blog_c
2009-09-11 10:03:00 229
原创 关于函数指针
函数存放在内存的代码区域内,它们同样有地址,我们如何能获得函数的地址呢? 如果我们有一个int test(int a)的函数,那么,它的地址就是函数的名字,这一点如同数组一样,数组的名字就是数组的起始地址。 定义一个指向函数的指针用如下的形式,以上面的test()为例: int (*fp)(int a);//这里就定义了一个指向函数的指针 函数指针不能绝对不能指向不
2009-06-07 13:14:00 134
原创 using namespace std详解
一 : 和是不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。 后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。 因此,当使用时,相
2009-05-27 12:28:00 130
原创 c语言输入输出缓冲区的概念
输入输出缓冲区的概念 我想以一个例子说明,比如我想把一篇文章以字符序列的方式输出到计算机显示器屏幕上,那么我的程序内存作为数据源而显示器驱动程序作为数据目标,如果数据源直接对数据目标发送数据的话。数据目标获得第一个字符,便将它显示。然后从端口读取下一个字符,可是这时就不能保证数据源向端口发送的恰好是第二个字符(也许是第三个,而第二个已经在数据目标显示时发送过了)。这样的话就不能保证输
2009-05-27 12:27:00 1527
原创 using namespace std详解
一 : 和是不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。 后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。 因此,当使用时,相
2009-05-27 12:27:00 162
原创 浅谈getch()、getche()和getchar()函数
getch()、getche()和getchar()函数 (1) getch()和getche()函数 这两个函数都是从键盘上读入一个字符。其调用格式为: getch(); getche(); 两者的区别是: getch()函数不将读入的字符回显在显示屏幕上, 而getche() 函数却将读入的字符回显到显示屏幕上。 例1: #include m
2009-05-27 12:22:00 380
原创 MSDN大体结构介绍
MSDN是微软提供给广大程序员的开发大全,里面有很多值得我们利用的地方,有人问道怎么用,我这里介绍一下: 首先我说明一下MSDN的结构,MSDN一般是三张光盘(也有DVD的,内容更丰富),分季度发行(月份-年份的格式),在安装时最好全装(1。5G左右),这样可以免去换盘之苦。里面依次有如下内容(以July 2001版本为例): (以下内容可能跨越了很多类,但是基本按MSD
2009-05-27 12:20:00 574
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人