06 2009 档案

[HDOJ]1056. HangOver
摘要:数学计算题目[代码] 阅读全文

posted @ 2009-06-19 10:52 笔记 阅读(285) 评论(0) 推荐(0)

[HDOJ]1040. As Easy As A+B
摘要:选择排序如下:[代码]冒泡排序如下:[代码] 阅读全文

posted @ 2009-06-19 10:24 笔记 阅读(576) 评论(0) 推荐(0)

[C++ rudiment] const 指针
摘要:看到编程思想第八章,关于const和指针的种种关系,还是要在这里主要说下,以备后用。1. 指向const对象的指针。形式:const int *p;说明:此处的p是一个普通指针,它指向的是const int对象。也就是说,此处的const限定的是指针p所指向的对象,而指针p本身并不是const,所以在定义时不需要初始化。我们可以随时修改指针p的值,但却不能修改p指针所指向的对象。比如说函数FILE... 阅读全文

posted @ 2009-06-18 18:53 笔记 阅读(293) 评论(0) 推荐(0)

[C++ rudiment]如何生成自己的静态库(lib)文件
摘要:打开VS2005,建立一个win32控制台程序,然后打开项目--LibTest属性(如图1),打开LibTest属性页(如图2),在右边配置类型处选择静态库(lib)。然后我们就可以写我们的头文件和cpp源文件了。写完后编译下就可以在目录下找到相应的lib文件了。图一图二 在这里我首先写一个比较简单的库文件,头文件内容是:[代码]源文件是:[代码] 编译后即可生成LibTest.lib(其中Lib... 阅读全文

posted @ 2009-06-17 13:56 笔记 阅读(5529) 评论(0) 推荐(2)

[HDOJ]1037. Keep on Truckin'
摘要:非常基础题。就是判断整数大小。本来我还想需要判断那三个数是不是要用double什么的,结果用int就AC了。[代码] 阅读全文

posted @ 2009-06-16 12:58 笔记 阅读(345) 评论(0) 推荐(0)

[C++ rudiment][转]typedef 使用
摘要:typedef似乎很简单,如typedef int integer;然而,这些简单的typedef语句容易让人产生一种误解,typedef就是一种宏替换,把后面的自定义类型替换成前面的已知类型,事实是这样的吗?显然不是! 首先可以肯定的是,我们不能这样去理解,因为虽然我们按照这样的理解方式去理解对于上面这种形式(typedef int integer)可以通过,但是对于其它方式是通不过的。考虑这样... 阅读全文

posted @ 2009-06-15 16:16 笔记 阅读(609) 评论(0) 推荐(0)

[C++ rudiment]关于在表达式前加#
摘要:先看下面的程序例子:[代码]输出为:a+b:1在预定义处可以看到#Ex这样的字眼,什么意思呢?解释如下:这是一种被称为字符串化的预处理器特征(在表达式前用一个#实现),其作用是获得任何一个表达式并把它转换成为一个字符数组。我们在这里可以很好玩的把在预定义命令中的#Ex理解成一个字符数组的首地址,于是可以有下面的程序:[代码]输出为:wangbin注:这种字符串化只能在预定义语句中才有效,放在其它地... 阅读全文

posted @ 2009-06-15 10:05 笔记 阅读(254) 评论(0) 推荐(0)

[C++ rudiment]名字空间 namespace
摘要:名字空间是一种描述逻辑分组的机制。也就是说,如果有一些声明按照某种准则在逻辑上属于同一个集团,就可以将它们放在同一个名字空间,以表明这个事实。 名字空间在C++中更多是用来避免类名的冲突,这在小的项目中可能看不出来,因为头文件和源文件比较少,类名冲突的概率比较小,但当你遇到一个很大的工程项目时,你就会认识到名字空间的使用还是很有必要的。 不想讲的太复杂,就是仅仅在这里写一个例子好了。头文件name... 阅读全文

posted @ 2009-06-13 14:12 笔记 阅读(319) 评论(0) 推荐(0)

[C++ rudiment]虚析构函数
摘要:C++的多态性是通过虚函数来实现的,虚函数的出现使得动态链接成为可能。基于构造函数的特点,不能将构造函数定义为虚函数,但可以将析构函数定义为虚函数。当派生类的对象从内存中撤销时,会先调用派生类的析构函数,然后自动调用基类的析构函数,如此看来析构函数也没有必要定义为虚函数。但是考虑如下这种情况,如果使用基类指针指向派生类的对象,而这个派生类对象恰好是用new运算创建的,这种情况下会如何呢?当程序使用... 阅读全文

posted @ 2009-06-11 16:19 笔记 阅读(534) 评论(0) 推荐(0)

[C++ rudiment]多重继承中二义性错误的解决:虚基类
摘要:C++中允许多重继承,看以下例子:[代码]编译后会出现以下编译错误:error C2385: ambiguous access of 'a'。究其原因,因为A是D的间接基类,通过D访问A的数据成员有两条路可走,一是D->B->A,另外一条是:D->C->A.所以导致了二义性。解决:这可以通过虚基类来解决二义性问题,如果采用虚基类方式来定义派生类,则在创建派生类对象时,类层次... 阅读全文

posted @ 2009-06-11 15:34 笔记 阅读(2439) 评论(0) 推荐(0)

[C++ rudiment]基类和派生类的构造函数
摘要:1. 顺序当创建一个派生类的对象时,系统首先自动创建一个基类对象,也就是说,在调用派生类构造函数创建派生类对象之前,系统首先调用基类的构造函数创建基类对象。当派生类对象生命期结束时,首先调用派生类的析构函数,然后调用基类的析构函数。简而言之,就是说,构造函数:基类->派生类。析构函数:派生类->基类。这个我们完全可以通过一个小程序来说明:[代码]OutPut:2. 通过派生类的构造函数... 阅读全文

posted @ 2009-06-11 15:11 笔记 阅读(9209) 评论(0) 推荐(3)

[C++ rudiment]关于类的友元
摘要:[代码]OutPut:上面已经说过了,友元是单方向性的和非传递的,一个类设置基类A为友元,并不代表基类A的派生类也可以访问那个类的所有数据成员。非传递! 阅读全文

posted @ 2009-06-11 11:13 笔记 阅读(379) 评论(0) 推荐(0)

[c++ rudiment]关于函数
摘要:1. float MyFunc(const float b){return b*b;}这样写是不行的,因为上函数中的return那一句相当于以下两句:b = b * b;return b;而MyFunc函数中明确指定参数b是const类型的,不能对const类型的变量赋值。2.可以通过函数给变脸赋值,注意这个时候函数的返回值和参数应该是直接传地址的,也就是说,应该是指针或者引用。给出一个例子如下:... 阅读全文

posted @ 2009-06-11 09:57 笔记 阅读(222) 评论(0) 推荐(0)

[编译器]当编译没有错误但却有链接错误时
摘要:说明程序内不存在语法错误了,但链接有错误,就是在把obj文件链接成exe文件时出现了问题,可以找到编译器相关工程的linker选项下看看,是否遗漏了相关的lib库文件,根据编译器提示的链接错误把相关的lib库文件加入即可。 阅读全文

posted @ 2009-06-06 14:24 笔记 阅读(380) 评论(0) 推荐(0)

[MFC学习之C++基础] 孙鑫视频中第三讲中提到的小测试程序(关于基类和子类的继承关系)
摘要:根据他的意思写了小程序如下:[代码]当我们用myfish对象去调用getp函数时,得到的指针是Fish类对象的指针,而用animal对象去调用getp函数时,得到的指针是Animal类对象的指针。这就可以说明问题了。 阅读全文

posted @ 2009-06-04 20:36 笔记 阅读(559) 评论(0) 推荐(0)

C++的重要性质 小结 参照深入浅出MFC第二章
摘要:因为要学习MFC,所以我就看了深入浅出MFC这本书,看完第二章—C++的重要性质,感觉侯老师总结的真不错,比我一头闷在primer中看效果要好很多,当然我现在看第二张看的明白也与我看primer有很大的关系,但相比较于看primer而言,我还是感觉侯老师这个第二章讲得真是很不错。算作是复习,也算做是总结,我还是宁愿拿出一个小时的时间来总结下第二章讲的内容,写在这里,一方面强化一下记忆,... 阅读全文

posted @ 2009-06-02 15:32 笔记 阅读(565) 评论(0) 推荐(0)

C和C++中的结构体
摘要:在孙鑫老师第二节课视频上听到的,索性就记在这里了,省的下次又不知道怎么说了。在C语言中,struct结构体中是不能定义成员函数的,在C++中可以。但在C语言中可以定义函数指针变量来达到自己所要的目的,不顾这貌似也不太必要。例子如下:struct test { int i; void (*pfun)(struct test*, int); } void set(struct test*... 阅读全文

posted @ 2009-06-01 22:04 笔记 阅读(237) 评论(0) 推荐(0)

写第一个Win32 Application遇到的问题
摘要:孙鑫老师的视频,在VS2005中建立一个Win32 Application后基本属于把程序照抄到白色的编辑板上,编译后出错如下:cannot convert from 'const char [7]' to 'LPCWSTR',后面的几个错误也是类似的错误,一时无解。遂Google之,发现问题在于工程的设置,找到Project->Properties->Configuration pr... 阅读全文

posted @ 2009-06-01 21:47 笔记 阅读(298) 评论(0) 推荐(0)

导航