摘要: 01背包问题;考虑简化了的背包问题:设有一个背包可以放入的物品重量为s,现有n件物品,重量分别为 w0,w1,...,wn-1,问能否从这n件物品中选择若干件放入背包,使其重量和证号为s。如果存在一种符合上述要求的选择,则称此问题有解,否则无解。使用递归方法,则此问题轻而易举的就解决了: 1 #include<iostream> 2 using namespace std; 3 4 int *w; 5 bool knap(int s, int n) 6 { 7 if (s == 0) 8 { 9 return true ;10 }11 if((... 阅读全文
posted @ 2013-05-22 10:42 Air Support 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 多态归结起来有四种:重载多态,强制多态,包含多态,参数多态。运算符重载实际上是函数重载。上代码:重载运算符 ++ 分为前置和后置,其中重载函数带参数的是后置。#include using namespace std; class A{ int n; int k; int m; public: A(){} A(int n,int k,int m):n(n),k(k),m(m){} A& operator++(){ //++i m++; return *this; } ... 阅读全文
posted @ 2013-05-21 16:03 Air Support 阅读(524) 评论(0) 推荐(0) 编辑
摘要: C++标准类库将面向对象的串的概念加入到C++语言中,预定义了字符串类(string).string类提供了对字符串进行处理的所需操作。使用string了需要包含头文件string。string类封装了串的属性并提供了一系列允许访问这些属性的函数。下面总结一下string类的构造函数,几个常用的成员函数和操作。、创建string对象字符串的操作,需要调用其构造函数,构造出一个 string 对象,为随后添加的字符分配内存,并初始化 string 对象的内部变量。如下是它的几个常用的构造函数原型。1.string();//默认的构造函数,用于创建一个不包含任何非空字符的 string 对象,长度 阅读全文
posted @ 2013-05-18 15:41 Air Support 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 我在看一些C++方面的教材时,一些书上这样写到:用New操作可以创建多维数组,new类型名T[下标表达式1][下表表达式2]...。数组的个数是除最左边一位外各位下表表达式的乘积。如:float(*fp)[25][10];fp=newfloat[10][25][10];//用new操作产生了一个指向25*10的二维数组的指针;而,这么写:float *fp=new float[10][25][10]; 是错误的,原因是什么呢?下面试分析之:实际上,不难发现,指针总是比它指向的数组对象少一维。****一维数组如;float *fp=new float[10];指针fp开始指向的是一维数组的首地址 阅读全文
posted @ 2013-05-16 21:09 Air Support 阅读(679) 评论(0) 推荐(0) 编辑
摘要: 链表在C/C++中是一种比较重要的数据结构,属于线性表.写了较好理解的代码,方便进行理解和实际的操作,为了方便理解及简化参数,第一个程序将head及,current指针设为全局变量. 1 #include <iostream> 2 using namespace std; 3 4 struct Node 5 { 6 int info; 7 Node *next; 8 }; 9 10 Node *head=NULL;11 Node *current=NULL;12 13 void CreateList()14 {15 head=new Node();16 hea... 阅读全文
posted @ 2013-05-08 23:30 Air Support 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后的学习和面试中,在此类问题上不在被动。 静态类成员包括静态数据成员和静态函数成员两部分。 一.静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时,静态数据成员还具有以下特点: 1.静态数据成员的定义。 静态数据成员实际上是类域中的全局变量。所以,静态数据成员的定义(初始化)不应该被放在头文件中。 其定义方式与全局变量相同。举例如下: 1 xxx.h文件 阅读全文
posted @ 2013-05-06 23:45 Air Support 阅读(324) 评论(0) 推荐(0) 编辑
摘要: sizeof这个函数的用法,你真的懂吗,不见得吧。上一段代码看一下就知道了: 1 #include <iostream> 2 using namespace std; 3 4 void Founc(char str1[100]) 5 { 6 cout<<sizeof(str1)<<endl; 7 } 8 9 int main( void )10 {11 char str[] = "hello";12 char ch[100]="world";13 char *p = str;14 int n=10;15 cout< 阅读全文
posted @ 2013-05-05 20:56 Air Support 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 函数指针:顾名思义就是函数的指针,由函数修饰,说明这是一个指向函数的指针。函数指针的应用:可以通过函数指针变量方便的调用功能不同的函数。上代码:代码一: 1 #include <iostream> 2 using namespace std; 3 4 void Func1(int); 5 void Func2(int); 6 void Func3(int); 7 typedef void (*FuncType)(int);//定义函数指针类型 8 void CallFunc(FuncType fc, int); 9 10 11 int main(void)12 {13 CallFu 阅读全文
posted @ 2013-05-05 13:57 Air Support 阅读(238) 评论(0) 推荐(0) 编辑
摘要: c++中比较常用的一种类型是字符串类型,平常都是调用"string.h" 头文件或类库,这里简单的进行自定义。首先编写String类,创建头文件String.h:String.h 1 #include 2 using namespace std; 3 4 class String 5 { 6 public: 7 String(const char *str = NULL); 8 String(const String &other); 9 ~String(void);10 String & operator =(const String &other 阅读全文
posted @ 2013-04-25 23:29 Air Support 阅读(642) 评论(0) 推荐(0) 编辑
摘要: 在数据库连接中我们常常需要用sa用户登录,这里以sqlserver 2008为例,对sa用户进行配置。第一步:以windows验证模式进入数据库管理器。第二步:依次打开安全性--登录名--sa,右键单击sa找到属性。第三步:在常规选项卡中,重新填写密码和确认密码(改成个好记的)。把强制实施密码策略去掉。第四步:点击状态选项卡:勾选授予和启用。然后确定第五步:右击实例名称(如下图),选择属性。第六步:点安全性,确认选择了SQL SERVER 和Windows身份验证模式。第七步:重启对象资源管理器(重要)。第八步:断开对象资源管理器的连接,重新用sa登录,注意身份验证用的是 SQL server 阅读全文
posted @ 2013-04-24 21:28 Air Support 阅读(1340) 评论(0) 推荐(0) 编辑