C++
文章平均质量分 71
fengzhishang2019
这个作者很懒,什么都没留下…
展开
-
Joseph环程序,接受用户输入的Joseph长度Length,开始计数的位置Ini,以及读到第Count个节点时,将该节点从Joseph环中删除,最后输出出环序列。
#include class Node{ public: Node(){} ~Node(){} public: int num; Node *next; };class Joseph{ public: Joseph(){ } Joseph(int i,int j,int z):Length(i),Ini(j),Count(z){原创 2011-12-12 19:27:35 · 1244 阅读 · 0 评论 -
《C++编程思想》(Thinking in C++)部分精华提取
1、声明与定义:首先,必须知道“声明”和“定义”之间的区别,因为这两个术语在全书中会被确切地使用。“声明”向计算机介绍名字,它说,“这个名字是什么意思”。而“定义”为这个名字分配存储空间。无论涉及到变量时还是函数时含义都一样。无论在哪种情况下,编译器都在“定义”处分配存储空间。对于变量,编译器确定这个变量占多少存储单元,并在内存中产生存放它们的空间。对于函数,编译器产生代码,并为之分配存储原创 2012-07-20 11:09:54 · 1489 阅读 · 1 评论 -
Microsoft ADO(ActiveX Data Object)用法浅析
一、ADO简介 ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,请不必为此担心,即使你对OLE DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC API、DAO、RDO都要容易使用,并不失灵活性。本文将详细地介绍在VC下如何使用原创 2012-08-08 11:00:36 · 4749 阅读 · 0 评论 -
Cannot open precompiled header file: 'Debug/****.pch': No such file or directory
环境:VC执行:编译程序问题描述:Cannot open precompiled header file: 'Debug/****.pch': No such file or directory我的解决方案可以使用右键点击项目工程中的该cpp文件,选择setting,在c/c++栏,选择PreCompiled headers,然后设置第一选项,选择不使用预编译头,解决这个问题。转载 2012-07-26 17:15:34 · 652 阅读 · 0 评论 -
VC++读写XML文件
1、安装MSXML 4.0 SP2。在VC6中建立一个基于Dialog的工程。如图:在界面上放置3个编辑框、1个按钮控件。其中属性设置如下。编辑框:ID CategoryVariable TypeVariable NameIDC_IDValueCStringm_strIdIDC_AUTHORValue转载 2012-08-06 16:20:15 · 9257 阅读 · 0 评论 -
C++虚拟继承中对象内存的分布
虚拟继承为了避免上述Top类的多次继承,我们必须虚拟继承类Top(Top类成为虚基类,当在多条继承路径上有一个公共的基类,在这些路径中的某几条汇合处,这个公共的基类就会产生多个实例(或多个副本),若只想保存这个基类的一个实例,可以将这个公共基类说明为虚基类虚基类的主要作用: 虚基类主要解决多重继承时,基类被多次进程的问题 )。参考博客 多重继承_内存的分布:: http://blog转载 2012-08-31 11:29:09 · 1088 阅读 · 0 评论 -
转义字符
所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。字符表 所有的转义字符和所对应的意义: 转义字符意义ASCII码值(十进制)\a响铃(BEL)007原创 2012-07-31 12:48:58 · 839 阅读 · 0 评论 -
C++虚函数表解析
前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使转载 2012-08-22 16:25:49 · 629 阅读 · 0 评论 -
C++版字符串匹配算法之传统匹配算法加KMP字符串匹配算法
#include #include #define MAXSIZ 100using namespace std;class Match{public: Match(){ size=0; str=""; } Match(string st){ size=st.length(); str=st; } void Set(string st)原创 2012-02-29 20:10:15 · 579 阅读 · 0 评论 -
VS2008常见问题解决方法
常见问题:1、Error spawning 'cmd.exe'2、#import 时Cannot Open “msxml4.dll":no such file of directory解决方案:Options --> Projects and Solutions -->VC++ Directories 下的Executable files下添加$(SystemRoot)\Sys原创 2012-08-24 16:26:07 · 769 阅读 · 0 评论 -
C/C++面试题精选
选集一:一、请填写BOOL , float,指针变量与“零值”比较的 if语句。(10分)提示:这里“零值”可以是0, 0.0 , FALSE或者“空指针”。例如 int变量 n与“零值”比较的 if语句为:if ( n == 0 )if ( n != 0 ) 请写出 BOOL flag与“零值”比较的 if语句: 请写出 flo原创 2012-07-13 10:10:17 · 1108 阅读 · 0 评论 -
C/C++中字符指针初始化问题
问题:#include using namespace std;void Trans(char *src,char *dest){; int i=0,j=0; for(i=0;i if(i==0){ if(src[i]>='A'&&src[i] else src[i]=src[i]-'a'+'A'; } else if(src[i-1]=='原创 2012-09-14 15:55:38 · 2813 阅读 · 0 评论 -
C/C++中memcpy与strcpy之间的区别
strcpy用于字符串间的拷贝,memcpy用于内存间的拷贝strcpy的原型:char * strcpy(char *dest,const char *src); 实现代码: char * strcpy(char *dest,const char *src){ while((*de原创 2012-09-19 22:27:54 · 1942 阅读 · 0 评论 -
堆与栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两转载 2012-07-18 08:38:16 · 364 阅读 · 0 评论 -
static用法浅析
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: //Example 1#include原创 2012-07-17 21:13:36 · 463 阅读 · 0 评论 -
汉诺塔问题解析
#include using namespace std;void move(char a,char b){ cout}void nuota(int n,char a,char b,char c){ if(n==1)move(a,c); else{ nuota(n-1,a,c,b); move(a,c); nuota(n-1,b,a,c); }原创 2012-05-20 18:46:42 · 3032 阅读 · 0 评论 -
接受用户输入的表达式,利用数据结构中栈完成多项式(+ - * / ( ))求值
#include #define MAX 256using namespace std;class Stack{ public: Stack(){ top=-1; } void push(char c){ a[++top]=c; } char pop(){ --top; return a[top+1]; } p原创 2011-12-13 23:34:07 · 621 阅读 · 0 评论 -
vc数据库编程的一些基本知识
ADOConn.h中的代码几讲解#import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") rename("BOF","adoBOF")class ADOConn {// 定义变量public://添加一个指向Connection对象原创 2011-12-22 23:13:28 · 519 阅读 · 0 评论 -
vc下ADO访问数据库
在很多编程实践中,尤其关于管理模块的设计中都会涉及到数据库操作.ADO就是个很好的选择,对于小型的数据库系统.ADO操作起来方便,而且发布简单.现就本人在自己的实际编程中截取如下,作为ADO操作数据库的流程.这些是通用的.1.在Stdafx.h 加入ADO支持库//////////////////////////////////////////////////////#import "转载 2011-12-23 14:41:57 · 468 阅读 · 0 评论 -
C++多项式求和
//Multinomial.cpp 计算多个多项式的和#include #include class Multinomial{public: class Item { public: Item(){ next=NULL; } Item(int i,int j){ factor=i; exp=j; next=NULL;原创 2012-02-28 18:10:35 · 2598 阅读 · 0 评论 -
C++中利用堆栈得到一条已知起点与终点的可通行的路径并输出
#include #include using namespace std;class Maze{public: class Point{public: Point(){ i=0; j=0; } Point(int x,int y):i(x),j(y){} Point &operator =(Point &obj){ i=obj.i;原创 2012-03-06 20:07:30 · 828 阅读 · 0 评论 -
C++利用队列(Queue)求解迷宫(Maze)中指定起点和终点间是否有最短路径,如果有的话输出所需步数,如果没有输出
#include #include class Maze{public: class Point{ public: Point():i(0),j(0){} Point(int x,int y):i(x),j(y){} Point(Point &x){ i=x.i; j=x.j; } ~Point(){} public: v原创 2012-03-23 23:12:10 · 2874 阅读 · 0 评论 -
C++编写利用数据结构中队列(Queue)打印出用户所指定长度的杨辉三角
#include #include using namespace std;class Yanghui{public: class Node{ public: Node():data(0){ next=NULL; } Node(int x):data(x){ next=NULL; } public: int data; N原创 2012-03-25 22:18:20 · 4047 阅读 · 0 评论 -
递归问题之一:给定一字符串,输出字符串中所有字符子串的各种组合形式,长度为一个字符到字符串的长度,忽略排序
#include using namespace std;enum{MAX=100};void SubString(char src[],char out[],int oi){ for(int i=0;i out[oi]=src[i]; int j=0; out[oi+1]='\0'; cout if(i SubString(src+1+i,o原创 2012-05-03 13:28:25 · 1037 阅读 · 0 评论 -
c++空类中默认生成的成员函数
class Empty{public:Empty(); // 缺省构造函数Empty( const Empty& ); // 拷贝构造函数~Empty(); // 析构函数Empty& operator=( const Empty& ); // 赋值运算符Empty* operator&(); // 取址运算符const Empty* operator&() con原创 2012-05-04 20:28:19 · 613 阅读 · 0 评论 -
C++递归问题之二——n皇后问题:以四、八皇后为例,给定n个皇后要求将它们放在一个n维矩阵中,任意两个皇后不能出现在同一行、列、主副对角线上,输出具体的摆放方式
#include using namespace std;class Queen{public: Queen(){} Queen(int i):Qnum(i){} ~Queen(){} void SetQnum(int i){ Qnum=i; } void FindPos();private: enum{MAX=10}; int col[MAX原创 2012-05-04 23:50:14 · 11242 阅读 · 0 评论 -
C++递归问题之三---0-1背包问题:给定两个值value和num,在1到num之间取值使这些数和为value,输出所有组合
#include using namespace std;int value,num;int *label;void Calc(int m,int n){ if(m return; if(m==n){ label[n]=1; for(int i=1;i cout label[n]=0; } label[n]=1; Calc(m-原创 2012-05-11 19:53:09 · 850 阅读 · 0 评论 -
实现对HTTP协议工作过程的模拟
#include #include #include #include #pragma comment(lib,"Ws2_32.lib")using namespace std;int main(){ SOCKET sock; sockaddr_in addrSrv; string host="www.sina.com.cn"; hostent *haddr原创 2012-06-05 16:20:54 · 727 阅读 · 0 评论 -
堆栈溢出问题
通过堆栈溢出来获得root权限是目前使用的相当普遍的一项黑客技术。事实上这是一个黑客在系统本地已经拥有了一个基本账号后的首选攻击方式。他也被广泛应用于远程攻击。通过对daemon进程的堆栈溢出来实现远程获得rootshell的技术,已经被很多实例实现。在windows系统中,同样存在着堆栈溢出的问题。而且,随着internet的普及,win系列平台上的internet服务程序越来越转载 2012-10-17 22:50:11 · 1417 阅读 · 0 评论