摘要: 插入符与提取符自己定义的插入符和提取符, 就可以重载相关运算符以完成相关的操作。1.第一个参数定义成流(输入为istream,输出为ostream)的非const引用。2.执行向流中插入/提取的操作,通过处理对象的组成元素3.返回流的引用输入输出流应该是非常量,通过返回流,可以将这些流操作连接成单一语句。#include<iostream>using namespace std;class date{ public: int year; int month; int day; date(int n_year, int n_month, int n_day) ... 阅读全文
posted @ 2012-09-12 19:08 w0w0 阅读(236) 评论(0) 推荐(0) 编辑
摘要: c++ stringstring隐藏了他所包含的字符序列的物理表示。也包含了关于其数据容量及存储地址的内务处理信息。c++标准没有定义string内存布局的确切实现。只是规定无论是否采取引用计数,其语言必须保持一致。c语言中每个char数组都占据各自独立的存储区域,但是在c++中独立的几个string对象可以占据也可以不占据各自特定的物理存储区,但是如果采用引用计数避免保存同一个对象的副本,那么各个对象必须看起来像独立拥有各自的存储区一样。字符串操作replace改写字符有很多重载的版本, 最简单的用了三个参数,第一个用于指示字符串的什么位置开始改写, 第二个用于指示从源字符串中删除多少个字符 阅读全文
posted @ 2012-09-12 12:58 w0w0 阅读(236) 评论(0) 推荐(0) 编辑
摘要: c语言中常用的异常处理方式:1.在函数中返回错误信息,耦合度极高2.使用标准库中的信号处理系统,signal()能够与推断事件发生时出现了什么情况,和函数raise产生一个事件来实现。耦合度也很高,可能和其他信号冲突3.非局部跳转函数setjmp,可以在程序中保存一个已知的无错误状态,一旦发生错误就可以使用 longjmp 返回到该状态中。#include<iostream>#include<csetjmp>using namespace std;class rainbow{ public:rainbow(){ cout<<"rainbow()&q 阅读全文
posted @ 2012-09-12 10:19 w0w0 阅读(284) 评论(0) 推荐(0) 编辑