自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

稻草人

博客搬家了,www.happydak.me

  • 博客(23)
  • 收藏
  • 关注

原创

这两天没时间看书,挺累的。英文书要多费点心思啊。

2011-10-30 23:13:53 256

原创 摘抄

the key to writing good programs is to design classes so that each cleanly represents a single concept .often ,this means that you must focus on questions such as:How are objects of this created? Ca

2011-10-28 00:18:21 649

原创 求e的x次方 保留五位小数

#includeusing namespace std;double result(int n){ double u=1,s,res=0; if(n==0)return 1; for(int i=1;i<30;i++) { s=(double)n/i; //强制类型转换 u=u*s; res=res+u; } return (res+1);}int main()

2011-10-27 23:07:20 1472

原创 摘抄

in fact,defining a new general-purpose or application-specific type is the most fundamental programming activity in c++。a well-designed user-defined type differs from a built-in type only in the way

2011-10-26 22:54:59 315

原创 欧几里德求 最小公倍数

欧几里德原理任给两个整数a,b其中b不等于0,如果存在一个整数q使得a=bq成立则称b整除a记作b|a此时称b是a的约数。   定理:gcd(a,b) = gcd(b,a mod b)   证明:a可以表示成a = kb + r,则r = a mod b   假设d是a,b的一个公约数,则有   d|a, d|b,而r = a - kb,因此d|r   因此d是(b,a mod

2011-10-26 00:29:55 553

原创 没有参数的函数f(void)

带类的c引进了概念f(void),这声明f是一个没有参数的函数,于此相对的是c里的 f()它声明了一个可以具有让你和类型的任意个参数的函数,而不进行任何类型检查,用户不久就使我确信f(void)在记法上很不尤雅,让f()接受参数也是不符合直觉的,最后试验的结果是用f()表示没有参数的函数,正如很多初学者所期待的那样由于有Dong Mcllroy 和Dennis Ritchie 的支持,我斗胆认可了

2011-10-24 10:48:39 1002

原创 向量的参数传递(摘自c++ priner)

#include#includeusing namespace std;const LineLength=12;void putValues(vector vec);int main(){int i,j[2];vector vec1(1); //创建一个单元素的vector vec1[0]=i; //初始化单元素的向量putValues(vec1);vector vec

2011-10-22 10:53:01 3303

原创 数组参数

摘自《c++ primer》在c++里面数组永远不会按值传递,它是传递的第一个元素(准确的说是第0个)的指针下面声明void put(int [10])被编译器视为void put(int*)数组的长度与参数声明无关因此下列三个声明是等价的:void putValues( int* );void putValues( int[] );void putValues(

2011-10-22 00:05:34 353

原创 c++中的操作符重载和类的引用机制

在c++里面有分为内置类型比如double int char 等等。它们可以使用各种不同的c++提供的操作符。在class里面首先class  接名称被视为一个型别(type)(class定义起源源于c)但是class不是程序语言内置类型,而是程序员自定义的一种类型,所以它不能直接使用+ - <等操作符,只能通过操作符重载才可以正确使用。在操作符操作的时候特别用到最多是引用机制,在《c++ p

2011-10-21 23:14:53 295

原创

一个类就是一个类型,这是c++里面最关键的概念,既然在c++里面的class意味着用户定义类型,为什么我不直接称它为type呢?选择用class这个词的基本原因是我不想发明新术语。

2011-10-21 20:59:27 275

原创 参数传递按值传递

这篇文章里面是c++ primer 里面的所有的函数都使用在程序运行栈(run-time stack)中分配的内存区。该存储区一直保持与该函数相关联,直到函数结束为止。那是存储区将自动释放以便重新使用。该函数的整个存储区被称为活动记录(activation record) 系统在函数的活动记录中为函数的每个参数都提供了存储区。参数的存储长度由它的类型来决定。参数传递是指用函数调用的实参值来

2011-10-21 16:45:09 491

原创 函数返回类型

c++ 一种强类型的语言(Strong typed) 每个函数调用的实参在编译期间都要经过类型的检查(type-checked)若参数类型与相应的参数类型不匹配,如果有可能就会有一个隐式的类型转换如果不可能进行隐士类型转换或者实参的个数不正确,就会产生一个编译错误。这就是函数必须先声明再使用的原因。编译器必须根据函数参数表对函数实参执行类型检查。

2011-10-21 16:23:05 301

转载 野指针和复制构造函数

coder们面临更大的麻烦了。c++程序员无可避免的要写很多这样那样的类。谁让c++是面向对象的呢?  我们在写类的时候难免要用new给类的数据成员分配内存。这本来没什么,动态分配内存是一种很常见的基本操作,我们在学数据结构时经常这么做,不是么?   但是伙计,事情并非这么简单。类是一种高级的用户自定义数据类型,看起来和结构、枚举这样的用户自定义类型没啥太大差别。如果你这样认为....?那

2011-10-21 16:02:09 1238

原创 扩充类chain

//删除链表的所有元素 templatevoid Chain::Erase(){ChainNode *next;while(first){next=first->link;delete first;first=next;}}//在链表最右边插入一个元素 te

2011-10-19 15:09:32 351

原创 链表的定义

//链表的定义 头文件templateclass ChainNode{friend Chainprivate:T Data; //数据域ChainNode *link;//指针域}template class Chain{public:Chain(){fi

2011-10-19 14:33:34 2856

原创 删除指针两次

会发生意想不到的灾难。假设有一个指针变量p 第一次执行delete p 可以安全的释放对象*p 而且p指向的内存会安全地返回到堆上,在没有随后的返回那个指针new的情况下第二次相同的指针会被传递到delete 过去曾经是*p中的对象现在被传递到析构函数(这可能是灾难性的)而且

2011-10-19 13:54:09 1068

原创 默认参数值的提供

关于默认参数值的提供有两个不甚直观的规则,第一个规则是默认值的决议(resolve)操作由最右边开始执行,如果我们为某个参数提供了默认参数,那么这个参数右边的所有参数都必须具有默认参数,下面的属于非法void display(ostream &os=cout,const ve

2011-10-17 12:35:39 782

原创 冒泡排序 使用向量

#include#includeusing namespace std;void display(const vector &vec);void swap(int &val1,int &val2);void bubble_sort(vector &vec);void

2011-10-14 15:31:33 943

原创 限定名称,命名空间

假定有这样一种情况:有两个命名空间,分别是ns1和ns2,但是要使用ns1中的定义函数fun1和ns2中的定义函数fun2,但是问题在于在ns1和ns2两个命名空间内都定义了一个my_function 的函数(假定所有函数都不获取任何参数,忽略操作符重载)在这种情况下,以下语法是

2011-10-11 12:03:13 999

原创 我的c++

这里面的c++文章那些基础的东东,是我看的一本书上面摘抄的,严格说来不算原创,只是有点东西要注意。所以我觉得抱着这本书给啃啃,然后敲敲代码。这本书是《problem solving with c++》 Walter Savitch 所写,第六版,如果你发现文章里面有什么不

2011-10-09 20:58:21 184

原创 虚析构函数

析构函数最好都用virtual 。先解释下析构函数和指针之间的交互。以及虚构函数的具体含义。例如下面的代码其中的SomeClass 是含有非virtual 析构函数的一个类SomeClass *p= new SomeClass;...delete p;为p调用delete

2011-10-09 20:51:21 262

原创 切片简单问题

#include#includeusing namespace std;class Pet{public: virtual void print(); string name;};class Dog:public Pet{public: virtual

2011-10-09 00:11:52 379

原创 多态性

多态性是指为一个函数名称关联多种含义的能力。是指通过一种叫做晚期绑定的特殊机制,为一个函数名称关联多个含义。虚函数是指在某种意义上,能在定义它之前使用的一个函数。将一个函数设定为虚函数相当于告诉编译器,我不知道这个函数如何实现,登载程序中使用它的时候,再从对象实例中获得它

2011-10-08 23:27:32 222

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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