随笔分类 -  【C++ Primer】

摘要:一,要求:自己动手编写 atoi(char *str)函数,功能是将字符串变成数字简单版本:需要考虑的地方 1)正负号2)仅仅考虑十进制 3)如何把数字 字符 变成整数#include <iostream>using namespace std;int StrToInt(char * str){ int value = 0; int sign = 1; if(*str == '-')//负号 { sign = -1; str++; } while(*str)// 此法很巧妙,直接从高位开始乘加即可,不用考虑字符串的长度 { va... 阅读全文
posted @ 2012-07-19 22:41 MXi4oyu 阅读(287) 评论(0) 推荐(0)
摘要:如果对Linux下静态链接库和动态链接库感兴趣,请狂点击 -->你懂的一,概念 1)静态链接库就是你使用的.lib文件,库中得代码最后需要连接到你的可执行文件中去,所以静态连接的可执行文件一般比较大一些。 使用方法 1> 格式如:#pragma comment(lib,"XXX.lib") 2> 针对开发环境: 1、如果使用VC,可以在Project Setting--&gt;Link中加入你的静态库,也可以直接把该.lib文件加入到你的工程中 2、如果... 阅读全文
posted @ 2012-07-10 14:50 MXi4oyu 阅读(373) 评论(0) 推荐(0)
摘要:一,概述 1)接口的多种不同的实现方式即为多态。 2)多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。多态性在C++中都是通过虚函数(Virtual Function) 实现的。 3)关键点:多态还有个关键之处就是一切用指向基类的指针或引用来操作对象二,示例1)普通的对象操作方式#include <iostream> using namespace std; class A{ public: void print() { ... 阅读全文
posted @ 2012-07-10 10:55 MXi4oyu 阅读(282) 评论(0) 推荐(0)
摘要:一,问题描述 A类包含B类的实例,而B类也包含A类的实例二,求解策略 1)错误的解法 A文件包含B,而B文件又包含A文件,这样就形成死循环#include "B.h"class A{ int i; B b;};#include "A.h"class B{ int i; A a;}; 2)正确的写法以及注意事项 1)主函数只需要包含b.h 就可以,因为b.h中包含了a.h 2)a.h中不需要包含b.h,但要声明class b。在避免死循环的同时也成功引用了b 3)包含class b 而没有包含头文件 "b.h",这样只能声明 b类型的指 阅读全文
posted @ 2012-06-30 18:13 MXi4oyu 阅读(249) 评论(0) 推荐(0)