- 博客(16)
- 资源 (3)
- 收藏
- 关注
原创 《C++编程思想》 第七章 常 量 (原书代码+习题+解答)
一.相关知识点 在 C语言中可以选择这样书写:const bufsize; 这样写在C++中是不对的,而 C编译器则把它作为一个声明,这个声明指明在别的地方有存储分配。因为C默认const是外部连接的, C++默认const是内部连接的,这样,如果在 C++中想完成与C中同样的事情,必须用extern把连接改成外部连接:extern const bufs
2015-07-30 23:43:22 1070
原创 《C++编程思想》第六章 输入输出流介绍(原书代码+习题+解答)
操纵算子 这里已经添加了一个新的元素:一个称作 endl的操纵算子。一个操纵算子作用于流上,这种情况下,插入一新行并清空流(消除所有存储在内部流缓冲区里的还没有输出的字符)。也可以只清空流:cout另外有一个基本的操纵算子把基数变为 oct (八进制), dec (十进制)或hex (十六进制):cout有一个用于提取的操纵算子“跳过”空格:cin>>ws;还
2015-07-30 11:16:11 2762
原创 《C++编程思想》第五章 函数重载与缺省参数 (原书代码+习题+解答)
一.相关知识点 在使用缺省参数时必须记住两条规则。第一,只有参数列表的后部参数才可是缺省的,也就是说,我们不可以在一个缺省参数后面又跟一个非缺省的参数。第二,一旦我们开始使用缺省参数,那么这个参数后面的所有参数都必须是缺省的。(这可以从第一条中导出。) 在C++中,在函数定义时,我们并不一定需要标识符,像:void f(int X, int,float f) {
2015-07-28 14:29:00 965
原创 《C++编程思想》第四章 初始化与清除(原书代码+习题+解答)
相关代码:1.#include class tree{ int height;public: tree(int initialHeight); ~tree(); void grow(int years); void printsize();};tree::tree(int initialHeight){ height = initialHeight;}tree
2015-07-28 00:01:42 1128
原创 《C++编程思想》第三章 隐藏实现 (原书代码+习题+解答)
一.相关知识点 1. 在C++中,存取控制并不是面向对象的特征,但它为类的创建者提供了很有价值的访问控制。类的用户可以清楚地看到,什么可以用,什么应该忽略。更重要的是,它保证了类的用户不会依赖任何类的实现细节。有了这些,我们就能更改类的实现部分,没有人会因此而受到影响,因为他们并不能访问类的这一部分。一旦我们有了更改实现部分的自由,就可以在以后的时间里改进我们的设计,而且允许犯错误。要知道,
2015-07-27 15:45:45 878
原创 《C++编程思想》第二章 数 据 抽 象(原书代码+习题+答案)
相关代码如下:1./*声明与定义的区别*/#include using namespace std;extern int i;//声明extern float f(float);//声明float b;//定义+声明float f(float a)//定义{ return a + 1.0;}int i;//定义int h(int x)//定义+声明{ r
2015-07-27 01:17:43 1004
原创 《C++编程思想》(第二版)第3章 C++中的C(笔记、习题及答案)(二)
#include #include using namespace std;void stringRef(string& s) { s += " come blow";}void stringPtr(string* p) { p->append(" your horn");}int main() { string s = "Little Boy B
2015-07-26 02:00:08 1748 1
原创 《C++编程思想》(第二版)第3章 C++中的C(笔记、习题及答案)(一)
一.总结本章的内容:1.如果声明指针是void* ,它意味着任何类型的地址都可以间接引用那个指针(而如果声明int*,则只能对int型变量的地址间接引用那个指针)。一旦我们间接引用一个void*,就会丢失关于类型的信息。这意味着在使用前,必须转换为正确的类型。2.Static变量使得局部变量的值在程序的整个生命期里仍然存在,其优点是在函数范围之外它是不可用的,所以不可能被轻易改变。3.
2015-07-25 00:50:18 2757
原创 《C++编程思想》(第二版)第2章 对象的创建和使用(习题及答案)
与习题相关的代码Hello.cpp#include using namespace std; int main(){ cout << "Hello, World! I am " << 8 << " Today!" << endl;}Stream2.cpp#include using namespace std; int main(){ cout<<
2015-07-24 00:50:47 1087
原创 《高质量程序设计指南C/C++语言》笔记总结
在对林锐,韩永泉编著的《高质量程序设计指南C/C++语言》的学习中,我从中了解到了很多编程的小细节和重要的概念,特总结规整如下:1.标准C语言允许任何非void类型的指针和void类型的指针之间进行直接的相互转换。但在C++中,可以把任何类型的指针直接指派给void类型指针,因为void*是一种通用指针;但是不能反过来将void类型指针直接指派给任何非void类型的指针,除非进行强制转换。因此
2015-07-23 23:18:03 854
原创 【C++/STL】list的实现(采用空间配置器和迭代器)
在list库函数的编译中仍然有很多问题,在源代码的编译中有些内容尚未搞懂,在后期的学习中会进行更加深入的学习,希望大家可以对我的问题提出建议和批评,谢谢大家~ 具体的代码如下: #include using namespace std;//采用迭代器和空间配置器所实现的双向链表的基本功能template >
2015-07-13 20:04:44 830
原创 【C++/STL】list的实现(没有采用迭代器和空间配置器所实现的双向链表的基本功能)
#include using namespace std;//没有采用迭代器和空间配置器所实现的双向链表的基本功能template //定义模板类class list //list类{public: typedef size_t s
2015-07-10 18:56:57 791
原创 【C/C++】文件读写
C语言:1.二进制文件写#includevoid main(){ int ar[10] = {12,23,34,45,56,67,78,89,90,100}; FILE *fp = NULL; //文件指针 fp = fopen("Text2.txt","w"); //打开
2015-07-07 23:23:27 683
原创 【C++】栈空栈满异常处理
异常处理的机制:1.如果没有异常发生,继续执行try块中的代码,与try块相关联 的catch子句被忽略,程序正常执行,main()返回0。2.当第一个try块在for循环中抛出异常,则该for循环退出,try块也退出,去执行pushOnFull异常的catch子句。istack.PrintStack()不再执行,被忽略。3.如果第二个try块调用Pop()抛出异常,则退出for和
2015-07-06 10:13:57 2795
原创 【C语言】printf函数和scanf函数典型例子
#include void main(){ int i; char c; for(i=0; i<5; ++i) { scanf("%d",&c); printf("%d ",i); } printf("\n");} 表面上,这个程序从标准输入设备读入5个数,在标准输出设备上写5个数:0 1 2 3 4 。 实际上,
2015-07-05 17:13:12 3009
原创 【C++】通用单链表
在C++的学习中,采用模板类,而采用虚函数实现多态性,达到通用的目的。结点类数据域被改造为指针,而把数据放在一个抽象类中,由指针与之建立联系。 采用虚函数实现多态性,达到通用的目的。堆内存的分配与释放,关键不是创建,而是释放! 要特别仔细揣摩堆内存的分配与释放,删除一个结点时系统自动调用结点类析构函数释放结点占用的动态内存,而结点释放时系统自动调用数据域类析构函
2015-07-05 16:49:47 1218
Windows_Git_64bit
2016-07-09
windows_svn_64bit
2016-07-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人