自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (8)
  • 收藏
  • 关注

转载 C++中的继承 public protected private

public protected private共有继承 public protected 不可见私有继承 private private 不可见保护继承 protected protected 不可见#includeusing namespace std;////////

2014-03-28 11:03:50 1864

原创 C++ 中的vptr与vtable

// test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include using namespace std;class no_virtual { int a;public: void x() const{} int i() const {return 1;}};class on

2014-03-28 11:03:38 3665

原创 C++纯虚函数

抽象基类:函数调用时,形参不能够是抽象基类,而应该是“指针”或者是"引用"。// test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include using namespace std;class Base { int a;public: virtual void x()

2014-03-28 11:03:23 1866

原创 C++对象切片

// test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include using namespace std; class Pet { string pname; public: Pet(Pet& p) { pname=p.pname; }

2014-03-28 11:03:06 4280

原创 C++中继承时的重载和重新定义

C++编程思想 P372对于虚函数,在派生类中:不允许改变返回值(非虚函数派生类可以。),特殊情况:但是当返回值的类型是基类返回值类型的派生类时,可以改变。如果重新定义了基类的重载成员函数,也就是定义了一个同名的函数,但参数不同,则基类的其它函数将被隐藏。

2014-03-28 11:02:50 1888

原创 写正确函数需要注意的地方:链表的及时终止冒泡排序

Node* sort(Node* phead){ if (NULL==phead || NULL==phead->pNext) { return phead; } Node* ptemp=phead; Node* plastchangepoint=NULL;//标记上一次 while (plastchangepoint!=phead->pNext) { bool chan

2014-03-28 11:02:31 1894

转载 GFP、GSP和VCG的特点和介绍

GFP(广义一阶价格拍卖),主要特点是关键词拍卖中广告主之间进行的是重复博弈,在每一轮拍卖结束后,广告主会根据上一轮报价的情形决定下一轮的报价决策,而这场价格战会被自然而然地分为价格攀升阶段和价格崩溃阶段。只能是在搜索引擎公司了解广告商估价的前提下运作,否则因为没有均衡,波动会在极大程度上带来拍卖效率上的损失。GSP(广义二阶价格拍卖),简单来说它即是支付数=点击次数*下位出价。在实际

2014-03-28 11:01:25 23368 4

原创 C++的new 和 delete 操作符重载。

测试代码:// test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include using namespace std;class test{public: int a; double x; test(int i,double m):a(i),x(m) { printf("cr

2014-03-04 12:16:20 4356

原创 只能用于构造函数的explicit

这个关键字只能用于构造函数,意思是该构造函数不能隐式的被调用。当有隐式的类型转换的时候,该explicit可以阻止这一过程。如:class One{public:One(){}};class Two{public:Two(const One&){}};void f(Two){}int main(){One one;f(one);}该程序

2014-03-04 12:16:07 2182

原创 C++中operator =

默认的operator= 和默认的拷贝构造函数做了同样的事情,递归的对基类和类中的对象进行拷贝构造。

2014-03-04 12:16:01 1793

原创 C++ 指向成员的指针(数据成员指针,函数成员指针)

数据成员指针:class Data{public : int a, b,c;}定义数据成员指针:int (Data::*pmInt)=&Data::a;这样子的话pmInt就可以指向某个Data对象中的所有int数据成员。如:pmInt=&Data::a;定义一个DataData d;d.*pmInt=48;//d.a=48;函数成员指针:

2014-03-04 12:15:55 2185

原创 海量数据处理问题

海量数据处理面临的问题:1. 数据膨大,内存有限无法一次性装下。2. 运行速度受到限制。

2014-03-04 12:15:20 1747

原创 模板中的嵌套类

#include "stdafx.h"#include #include using namespace std; template class X{ //without typename , you should get an error: typename T::id i; //T::id i;public: void f(){i.g();}};cl

2014-03-04 12:15:03 5520

原创 template函数

#include "stdafx.h"#include #include using namespace std; template T sum(T b,T e, T init=T()){ char chars[N]; cout<<"N: "<<N<<endl; init=b+e; return init;}template T sum(T b,T e,

2014-03-04 12:14:57 1925

原创 C++异常处理的用处

异常处理一个用处在于将正常的处理流程中跳到恰当的异常处理器中,使得异常处理与正常的处理流程隔离。使得程序设计过程更加流畅。 异常处理保证当程序执行流程离开一个作用域的时候,对于属于该作用域的所有由  “构造函数建立起来的” 对象,它们的析构函数一定会被调用。 然而,如果一个对象的构造函数在执行过程中抛出异常的话,则它的析构函数将不会被调用。因此,编写构造函数的时候,程序员必须特别的仔细

2014-03-04 12:14:50 2123

原创 C++异常处理catch向上类型转换。

匹配的异常并不要求与其捕获的对象类型一致。一个对象或者是指向派生类对象的引用都会与其积累处理器匹配。如果是对象本身而不是引用或指针的话,这个异常对象将会被“切割”,丢失派生类包含的所有信息。因此最好是抛出引用,或者是指针。但是不会进行自动类型转换。比如如下情况:class Except1{};class Except2{public: Except2(co

2014-03-04 12:14:45 2032

原创 throw后局部变量的析构。

// test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include using namespace std; class object{public: ~object() { cout<<"~object()"<<en

2014-03-04 12:14:37 2018

原创 C++中的cast

dynamic_cast:用于向下类型转换。该函数仅当向下类型转换是正确的时候返回有效的指针,否则返回0;所以说他是安全的。注意:通常在向下类型转换和向上类型转换时,指针的值会有所调整,特别是在多重继承的时候。当知道确实是该类型时,可以用static_cast代替dynamic_cast。

2014-03-04 12:14:27 1538

原创 C++析构函数和虚析构函数。

析构函数如果不是虚的话,基类的析构函数将不会被调用。多态时,也就是派生类被基类指针所指,或者被基类别名:虚析构函数,被调用时,其自身的析构函数和基类的析构函数都将会被调用。非虚的时候,不进行多态,只有基类的会被调用。纯虚析构函数:定义的时候除了加“=0”。还需要给出函数的实现。因为当递归的调用析构函数时需要自动执行。作为一个准则,任何时候我们的类中都要有一个虚函数,我们

2014-03-04 12:14:21 1678

原创 写正确程序需要注意的地方:一个数组是有一个递减数列座椅若干位形成的,在这种数组中查找某一个数。

//4,3,2,1,10,9,8,7,6,5int searchInRotateSortedArray(int* arr, int count, int value){ if (count<=0 || arr==NULL) return -1; int mid; int left=0; int right=count-1; while (left<=right) { //

2014-03-04 12:13:48 782

原创 写正确程序需要注意的地方:输入一个正数n,输出所有和为n连续正数序列。

int sequenceFactor(int n){ if(n<=0) return -1; for(int i=2;i<=n/2;++i) { if(i%2==1)//需要分成奇数个 { int div=n/i;//则商为中间值。 if(n%i==0 && div-(i-1)/2>0)//必能整除,并且最小数应该大于0。 { printf("%d..

2014-03-04 12:13:37 756

原创 写正确函数需要注意的地方:输入一个字符串,打印出该字符串中字符的所有排列

void allPermutations(char* arr, char* desarr, bool* assis, int count, int curindx){ if(curindx==count) { desarr[curindx]=0; printf("%s\n",desarr); return; } for(int i=0;i<count;++i) { i

2014-03-04 12:13:27 910

原创 写正确函数需要注意的地方:链表的合并排序

Node* mergeSort(Node* head, int length){ if(length==0) return NULL; if(length==1) { head->pNext=NULL;//一定要赋值为NULL,否则可能出现死循环。 return head; } int halflength=length/2; Node* halfp=head; fo

2014-03-04 12:12:54 557

原创 操作系统相关知识复习

逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址部分。例如,你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址,不和绝对物理地址相干。只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分段或分页机制,Cpu不进行自动地址转换);逻辑地址也就是在Intel 保护模式下程序执行代码段限

2014-03-04 12:11:58 613

原创 写正确函数需要注意的地方:奇偶数分开,左边偶数,右边奇数。

void oddEvenSort(int* arr,int count){ int left=0; int right=count-1; int midval=arr[left]; while(left<=right) { while(left<=right && arr[right]%2==1) --right; if(left<=right) { arr[l

2014-03-04 12:11:28 917

转载 找寻二叉树中两个节点的公共父节点中最近的那个节点

http://fayaa.com/tiku/view/16/

2014-03-04 12:11:10 527

原创 写正确函数需要注意的地方:给定一个十进制整数N,计算从1开始到N的所有整数出现的“1”的个数

int numOf1(int n){ int factor=1; int count=0; while(n/factor!=0) { int higher=n/(factor*10);//当前位置的高位组成的数字。 int cur=n/factor%10;//当前位置数字 int lower=n%factor;//当前位置的低位组成的数字。 if(cur==0) c

2014-03-04 12:10:58 818

拼图游戏 android

拼图游戏,改进版 拼出左下方显示的原图游戏结束,步数少者为优。程序将记录以往最好成绩。玩家能够选择自己喜欢的拼图进行游戏。如图四所示,点击菜单(menu)按钮之后,将显示游戏所含的菜单项目:新游戏,设置,更换图片和退出。

2011-03-04

ARP协议获取局域网内活动主机mac地址

ARP 物理地址 源码 局域网 窗口程序 界面. 有界面的哦,需要使用到winpack包

2010-10-23

使用ARP协议获取局域网内活动主机物理地址

一套控制台的,一套MFC窗口的,想要就下哈,里面有说明文档。

2010-10-23

贝叶斯网络ppt,两个文件

描述贝叶斯网络 Bayesian Networks 的ppt 两个文件人工智能课件。

2010-02-01

绚丽的图表(diagram Designer)演示WPF程序源码

绚丽的图表(diagram Designer)演示WPF程序源码

2009-08-11

用WPF 制作的FishEye(鱼眼)控件

用WPF 制作的FishEye(鱼眼)控件 非常的绚丽。

2009-08-02

WPF制作的snakes游戏

运用wpf制作的snake小游戏,绚丽,适合游戏编程者学习

2009-07-27

vc++ 2008 feature pack 所有样例

vc++ 2008 feature pack 所有样例

2009-07-13

空空如也

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

TA关注的人

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