自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

转载 建立十个习惯,离成功近一步

一、不轻言退缩二、不停学习,不断修正。三、坐言起行,立即动手,从小事做起。为什么看到机会却没有抓住,是因为我们在犹豫:用什么方法更好啊,是不是还有更好的机会啊,或者这是不是机会啊。说狼在森林里追兔子,兔子看到狼来了决定跑,它想,是先跳左腿,还是先跳右腿,是怎么跳好看一点,还没来得及想完,就被狼吃了。简单的事情简单做,复杂的事情简单做,简单的事情重复做等等,都是保证坐言起行效

2006-11-19 12:20:00 878

原创 Thinking in C++读书笔记--15.3.3模板中的常量

//15.3.3模板中的常量#ifndef TCONST_H_#define TCONST_H_#include #include using namespace std;template class mblock //模板的参数可以使用编译器的内置类型,而且可以使用缺省值{private: T array[size];public: T& operator[] (int index) {  

2006-11-16 23:54:00 1040

原创 Thinking in C++读书笔记--15.3.2栈模板的实现与测试代码

//15.3.2栈模板#ifndef STACKT_H_#define STACKT_H_template class stacktIter;//先声明,下面的类中要用到该模板。template class stackt{ enum { size = 100 }; T stack[size]; int top;public: stackt() : top(0)  {  stack[top] =

2006-11-16 22:17:00 952

原创 Thinking in C++读书笔记--15.3.1非内联函数的实现

  template class array{ enum { size = 100 }; T A[size];public:    T& operator[] ( int index );};templateT& array::operator [] ( int index ) //在成员函数的定义中,类名称被限制为模板参数类型:array{ return A[index];}//由...

2006-11-10 14:10:00 843

原创 Thinking in C++读书笔记--15.4模板的语法

#include "stdafx.h"#include using namespace std;//15.3模板的语法template class array //这里T是替换参数,它表示一个类型的名称在包容器类中,它将出现在那些原本由某一特定类型出现的地方{ enum { size = 100 };//由于类内部的const常量无法用来做数组的大小,所以采用了enum类型,也是常量 T A[si

2006-11-10 09:04:00 903

原创 Thinking in C++读书笔记--13.4继承与组合

#include "stdafx.h"#include using namespace std;//13.4组合与继承的联合class A { int i;public: A( int I ) { i = I; } ~A() {} void f() const {}};class B { int i;public: B( int I ) { i = I; } ~B() {} void f()

2006-11-09 08:05:00 842

原创 Thinking in C++读书笔记--10.4指向对象成员的指针

如假有一个结构 : struct sample { int a; };如果有这个结构的对象so与指针sp,可以通过下面的方法选择对象成员:so.a;   sp->a;如果有一个指针指向了a,那我们该怎样给它赋值呢?应该是这样的: so.*pm = 47;  sp->*pm = 47;指向一个对象的指针的语法变成了->*,而对象则为.*那该怎么定义呢?int sample

2006-11-09 00:43:00 936

原创 Thinking in C++读书笔记--10.2C++中的引用

引用像是一个自动能被编译器逆向引用的常量型指针.使用引用时的一些规则:1.当引用被创建时,它必须被初始化2.一旦一个引用被初始化指向一个对象,它就不能改变为对另一个对象的引用.3.不可能有NULL引用函数中的引用,一个例子:int* f( int* x ) {  (*x)++;  return x;}int& g( int& x ) {  x++;}

2006-11-09 00:19:00 985

原创 Thinking in C++读书笔记--9.3静态成员函数

像静态数据成员一样,我们也可以创建静态成员函数,它是为类的全体服务,而不是为类的一部分对象服务.这样就不需要定义一个全局函数,减少了全局名字空间的占用.静态成员函数不能访问一般的数据成员,它只能访问静态数据成员,也只能调用其他的静态成员函数.通常,当前对象的地址(this)是被传递到被调用的函数的,但一个静态成员函数没有this,所以它无法访问一般的成员函数. 

2006-11-09 00:03:00 1252

原创 Thinking in C++读书笔记--7.2指针常量

指向const的指针:const指向那个"最靠近的",例如: const int* x, 是这样读的:x是一个指针,它指向一个const int";而int const* x也不是指针常量,它应该这样读:x是一个指向恰好是const的int 指针.真正的指针常量应该是这样子定义的:int d=1;int* const x=&d;注意:最好在一行里仅放一个指针定义,而且在定义的地方初始化

2006-11-08 22:00:00 689

原创 Thinking in C++读书笔记--6.3文件输入输出流

char buf[100]; string buf; ifstream in("目录.txt"); assert(in); ofstream out("C++.txt"); assert(out); int i=1; while(in.get(buf,100)) {  in.get();  cout   out  } assert(argc=2); ifstream in(argv[1])

2006-11-08 07:59:00 912

原创 Thinking in C++读书笔记--5.3缺省参数

缺省参数是在函数声明时就给定一个值,如果我们在调用参数时没有指定这一参数的值,编译器就会自动给这个参数赋上这个值.例:example( int size );example( int size, int quantity );可以用一个函数声明来代替:example( int size, int quantity = 0 );如果有两个定义:example( 100 )

2006-11-08 07:50:00 694

原创 Thinking in C++读书笔记--5.1范围分解

在C++中,有一个很重要的原因对函数进行重载:构造函数.因为构造函数的名字预先由类的名字确定,所以只能拥有一个构造函数的名字.但我们想用几种方法创造一个对象时该怎么办呢?这是就显现出重载的重要性了.我们对不同的参数使用同样的名字,只要函数的参数不同,编译器就会通过分解这些名字,范围和参数来产生内部名以供链接器使用.仅仅靠返回值来重载函数过于微妙了,所以C++中禁止这样做 

2006-11-08 07:13:00 756

原创 Thinking in C++读书笔记--3.3友元

//一个嵌套的struct不能自动的获得存取私有成员的权限//必须遵循特定的规则:首先声明一个嵌套的struct,然后声明它是全局范围使用的一个友元#include "stdafx.h"#include #include #define SZ 20struct holder {private: int a[SZ];public: void initialize(); struct pointer

2006-11-08 07:00:00 796

原创 Thinking in C++读书笔记--2.2一个小型的C库

//2.2一个小型的C库的头文件typedef struct STATSHtag { int size; int quantity; int next; unsigned char* storage;}Stash;//注意,这些函数声明用的是标准的C风格函数声明 void initialize( Stash* S , int Size );void cleanup( Stash* S );int

2006-11-08 06:10:00 747

原创 Thinking in C++读书笔记--2.1声明与定义

//声明常常使用关键字 extern ,如果只是声明而不是定义它,则要求使用extern//对于函数的声明, extern 是可选的,不带函数体的函数名连同参数或返回值自动的作为一个函数声明extern int i;//声明而没有定义extern float f( float );//函数声明float b;//声明和定义float f( float a )//定义{ return a + 1.0

2006-11-08 06:08:00 699

原创 C++复习--单链表的逆置

struct Node{ int value; Node * next;};Node * head=NULL; void dao(){ Node * p,* q; p=head; head=NULL; while(p) {  q=p->next;  p->next=head;  head=p;  p=q; }}

2006-11-08 06:06:00 668

原创 C++复习--本人写的Josephus问题

用链表实现的,在vc2003中编译通过struct Node{ int value; Node * next;};Node * head=NULL;Node * end=NULL;void Create(){    Node * ps;  ps=new Node; ps->value=i++; if(head==NULL)  head=end=ps; else  end->next=p

2006-11-08 06:02:00 889

空空如也

空空如也

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

TA关注的人

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