自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

basketball in c++

最爱和平

  • 博客(53)
  • 资源 (2)
  • 收藏
  • 关注

转载 浅谈C++多态性

C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握。  多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphisn),字面意思多种形状。  C++多态性是通过虚函数来实现的,虚函数允许子类重新定

2013-05-28 22:56:27 629

原创 c笔试题

1.判断链表是否存在环问题:判断一个链表是否存在环,例如下面这个链表就存在一个环:例如N1->N2->N3->N4->N5->N2就是一个有环的链表,环的开始结点是N5这里有一个比较简单的解法。设置两个指针p1,p2。每次循环p1向前走一步,p2向前走两步。直到p2碰到NULL指针或者两个指针相等结束循环。如果两个指针相等则说明存在环。struct link { in

2008-07-07 11:25:00 946 1

原创 笔试题

1.判断两个数组中是否存在相同的数字给定两个排好序的数组,怎样高效得判断这两个数组中存在相同的数字?这个问题首先想到的是一个O(nlogn)的算法。就是任意挑选一个数组,遍历这个数组的所有元素,遍历过程中,在另一个数组中对第一个数组中的每个元素进行binary search。用C++实现代码如下:bool findcommon(int a[],int size1,int b

2008-07-07 11:19:00 569

原创 最大子序列

问题:给定一整数序列A1, A2,... An (可能有负数),求A1~An的一个子序列Ai~Aj,使得Ai到Aj的和最大例如:整数序列-2, 11, -4, 13, -5, 2, -5, -3, 12, -9的最大子序列的和为21。对于这个问题,最简单也是最容易想到的那就是穷举所有子序列的方法。利用三重循环,依次求出所有子序列的和然后取最大的那个。当然算法复杂度会达到O(

2008-07-07 11:13:00 766

原创 怎么遍历MFC打开的多个文档?

怎么遍历MFC打开的多个文档?     需要使用打开的多个文档的数据,在哪可以遍历到呢?处理的例程应该放在哪呢?App?Frame?Doc?View...?     嗯,我再想想     在class CMultiDocTem

2008-05-01 10:47:00 1445

转载 如何让一个打开的文档成为活动文档

                                               如何让一个打开的文档成为活动文档     有一个树型控件,在其TVITEM的用户部分存储着一个文档指针。当双击项目时,我想从打开的文档列表中激活文档。所以对于给定的文档 类(CDocument)指针,如何在MDI应用中激活这个指针?     在回答这个问题之前需要纠正的是:文档是不能被激活的,只有

2008-05-01 10:45:00 758

原创 vc美化界面(2)

3.3.3 WM_CTLCOLOR  在控件显示之前,每一个控件都会向父对话框发送一个WM_CTLCOLOR消息要求获取绘制所需要的颜色。WM_CTLCOLOR消息缺省处理函数CWnd::OnCtlColor返回一个HBRUSH类型的句柄,这样,就可以设置前景和背景文本颜色,并为控件或者对话框的非文本区域选定一个刷子。WM_CTLCOLOR的映射函数原型如下:afx_msg HBR

2008-04-16 17:30:00 1288

原创 vc美化界面

VC Interface

2008-04-16 17:27:00 758

原创 ondraw

OnDraw与OnPaint有什么区别?(转)2007-11-15 17:30 学习中遇到一个问题,OnDraw与OnPaint有什么区别?上网搜索了一下,又查了一下MSDN和MFC的一些源文件,现整理如下。  

2008-04-16 13:44:00 1083

原创 ClistCtrl

创建图形列表并和CListCtrl关联:m_image_list.Create(IDB_CALLER2, 16, 10, RGB(192,192, 192));m_image_list.SetBkColor( GetSysColor( COLOR_WINDOW ) );m_caller_list.SetImageList( &m_image_list, LVSIL_SMALL);为报表添加4列: 

2008-04-16 09:56:00 2917 1

原创 peekmessage getmessage

 GetMessage(LPMSG lpMsg,  HWND hWnd,   UINT wMsgFilterMin,   UINT wMsgFilterMax)PeekMessage(LPMSG lpMsg,  HWND hWnd,   UINT wMsgFilterMin,   UINT wMsgFilterMax,UINT wRemoveMsg) 参数wRemoveMsg的作用是指

2008-04-04 15:09:00 777

原创 匈牙利命名法

  Windows类型 样本变量 MFC类 样本变量

2008-04-02 09:43:00 524

原创 绘制灰度图像

有时一幅灰度位图比一幅彩色位图更能吸引人,如在一些游戏中对往事的回忆常把场景设置成灰色,是不是有一种往事的感觉 绘制灰度图像 有时一幅灰度位图比一幅彩色位图更能吸引人,如在一些游戏中对往事的回忆常把场景设

2008-03-31 15:38:00 1515

原创 memcpy memmove

我看了下crt的实现源码,如下:(略去64位机的) C/C++ code <!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->void * __cdecl memcpy ( void * dst,

2008-03-28 11:10:00 645

原创 VC常见的108个问题

(1) 如何通过代码获得应用程序主窗口的 指针?主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED)//使程序最大化.(2) 确定应用程序的路径Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。Example:TC

2008-03-27 16:30:00 1394

原创 windows消息大全

消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含

2008-03-27 16:28:00 587

原创 VC中动态生成控件

动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的。   一、创建动态控件:  为了对照,我们先来看一下静态控件的创建。  放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一个静态控件就创建好了,当对话框被显示时,其上的控件也会显示。  静态控件不需要调用Cr

2008-03-27 16:27:00 844

原创 C语言面试题

 雅虎笔试题(字符串操作) 给定字符串A和B,输出A和B中的最大公共子串。比如A="aocdfe" B="pmcdfa" 则输出"cdf"*///Author: azhen#i nclude#i nclude#i ncludechar *commanstring(char shortstring[], char longstring[]){int i, j;char *substrin

2008-03-27 13:28:00 674

原创 树型视的三个结构TVINSERTSTRUCT、TVITEM、NMTREEVIEW

树型视的三个结构TVINSERTSTRUCT、TVITEM、NMTREEVIEW2008-03-20 21:17 TVINSERTSTRUCT 包含添加新项到树形视控件所使用的信息。这个结构被TVM_INSERTITEM消息

2008-03-25 16:49:00 1296

原创 基于VC++的GDI常用坐标系统及应用

在Windows应用程序中,只要进行绘图,就要使用GDI坐标系统。Windows提供了几种映射方式,每一种映射都对应着一种坐标系。例如,绘制图形时,必须给出图形各个点在客户区的位置,其位置用x 和y两个坐标表示,x 表示横坐标,y表示纵坐标。在所有的GDI绘制函数中,这些坐标使用的是一种“逻辑单位”。当GDI函数将结果输出送到某个物理设备上时,Windows将逻辑坐标转换成设备坐标(如屏幕或打印机

2008-03-25 15:00:00 1221 3

原创 在MFC类中各种类的指针的获取和应用

关于MFC下的文档和视图以及框架之间的访问, 这些问题已经是老生常谈了,但我觉得还是都没有详细的说明,特别是对于英语较差的人,我查看了一些blog,总结了一下!希望对和我一样的人有点帮助! 一:      1:   因为对于SDI程序,主框架窗口就是文档框窗(如果这个也不知道,就要查看一下MFC下的单文档的构成原理了).           下面所说的是关于单文档的.             

2007-12-06 15:14:00 1194

原创 动态链接库的开发 DLL

vs2005 vc工程如何包含.lib库文件? 先在“工具->选项->项目和解决方案->VC++目录”里设置库文件的路径;然后将需要的lib文件的名称加入“项目-〉属性-〉配 置属性-〉连接器-〉输入-〉附属依赖项”,文件名称之间用空格间隔,如:nfxmgr.lib adimgr.lib cta.

2007-11-29 13:44:00 1122

原创 Subersion和TortoiseSVN的简单使用

请求(这是默认情况下,如果你有其他程序占用了3690端口,可以用“--listen-port”参数指定服务器监听端口)。服务器的具体启动方式是:在subversion安装目录下的/bin子目录下有一个svnserve.exe文件,该文件运行时可带参数,常用的参数有两个一个是“-d”,该参数表明服务器作为一个精灵进程一直运行,直到手动结束该程序。另一个参数就是“-r”,该参数指定服务器进程寻找Rep

2007-11-08 12:50:00 656

原创 vc调用dll

动态链接库DLL的链接  应用程序使用DLL可以采用两种方式:一种是隐式链接,另一种是显式链接。在使用DLL之前首先要知道DLL中函数的结构信息。Visual C++6.0在VC/bin目录下提供了一个名为Dumpbin.exe的小程序,用它可以查看DLL文件中的函数结构。另外,Windows系统将遵循下面的搜索顺序来定位DLL: 1.包含EXE文件的目录,2.进程的当前工作目录, 3.Windo

2007-11-08 09:52:00 3053

原创 extern "c"

时常在cpp的代码之中看到这样的代码:  #ifdef __cplusplu* **tern "C" { #endif //一段代码 #ifdef __cplusplus } #endif    这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一段cpp的代码,那么加入

2007-11-07 16:40:00 519

原创 vc 小技巧

. 内存分配问题 1. 变量未初始化。 为debug中会自动给变量初始化found=FALSE,而在release版中 则不会。所以尽可能的给变量、类或结构初始化。 2. 数据溢出的问题 如:char buffer[10]; int counter; lstrcpy(buffer, "abcdefghik"); 在debug版中buffer的NULL覆盖了counter的高位,但是除非counte

2007-11-07 12:35:00 1166

原创 函数指针及extern "c"

C/C 中函数指针的含义分类:学习函数存放在内存的代码区域内,它们同样有地址,我们如何能获得函数的地址呢?   如果我们有一个int test(int a)的函数,那么,它的地址就是函数的名字,这一点如同数组一样,数组的名字就是数组的起始地址。 定义一个指向函数的指针用如下的形式,以上面的test()为例: int (*fp)(int a);//这里就定义了一个指向函数

2007-11-07 11:28:00 3037

原创 多线程

11月25日对几本VC教材的看法《程序设计经验杂谈》-零点代码(网络)    网络上的,里面一行代码也没有,写的都是程序员辛酸,如果你学习VC目的是当一名程序员,每闲下来看几个小段子感觉不错============《高质量C++/C编程指南》(网络)网络上流传已久的,也是每个想当程序员的人必看的,看的越早越好,刚开始可以尝试做到一些起码规范,慢慢来,不要太急============

2007-11-05 13:57:00 2059

原创 VC多线程编程(转)

VC中多线程使用比较广泛而且实用,在网上看到的教程.感觉写的挺好. 一、问题的提出编写一个耗时的单线程程序:  新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下: void CSingleThread

2007-11-05 12:14:00 837

原创 SendMessage,PostMessage

首先讲这两个函数的区别。SendMessage是阻塞的。PostMessage不是的。SendMessage会等发去的消息被处理了才返回。PostMessage则只负责把消息放到相应的消息队列中就返回了,它不必等待消息的处理。在使用上有一个要注意的地方。在MFC中每个从CWnd继承来的类,都有两个成员函数SendMessage,PostMessage。在Windows SDK中也有两个函数Send

2007-11-02 10:04:00 1110 1

原创 VS一些快捷键

 Ctrl+l:删除当前行;Ctrl+Enter:插入当前行: shift+F7查看到设计器; F7到代码: 开始运行,不调试:Ctrl+F5 重新生成解决方案:Ctrl+Shift+B 增加一个新项:Ctrl+Shift+A 到html设计器:Ctrl+PageDown F5:Debug运行: Ctrl+J:查看成员代码; Ctrl+Shift+Bre

2007-11-01 08:57:00 617

原创 用CfileFind递归搜索目录

我们知道CfileFind未提供直接遍历其子目录的功能,而有时候我们却常常要遍历某一目录下的所有文件及其子目录。如我们要删除一个目录,而这个目录下又有子目录,因为Windows不允许删除非空的目录,因此我们必须能够遍历一个目录下的所有子目录,这可以通过简单的递归实现.   下面让我们从一个简单的例子开始:如何删除某一目录?(假设我们通过DeleteDirectory(LPCTSTR DirName

2007-10-26 09:16:00 774

原创 图像缩放

 第一篇文章.插值算法对于缩放比例较小的情况是完全可以接受的,令人信服的。一般的,缩小0.5倍以上或放大3.0倍以下,对任何图像都是可以接受的。最邻近插值(近邻取样法):  最临近插值的的思想很简单。对于通过反向变换得到的的一个浮点坐标,对其进行简单的取整,得到一个整数型坐标,这个整数型坐标对应的像素值就是目的像素的像素值,也就是说,取浮点坐标最邻近的左上角点(对于DIB是右上角,因为

2007-10-17 14:50:00 3338

原创 Cview,Frame,Doc,APP等的调用顺序

下面是打开后什么也不做,关闭的CWinApp::CWinApp()     CWinApp::InitApplication()     CWinApp::InitInstance()     CDocument::CDocument()     CFrameWnd::CFrameWnd()     CFrameWnd::LoadFrame(nIDResource,   dwDefaultSt

2007-10-10 09:58:00 1867 1

原创 C++中虚析构函数的作用

我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明:        有下面的两个类:class ClxBase{public:    ClxBase() {};    virtual ~ClxBase() {};    virtual void DoSomething() { cout  "Do something in c

2007-10-08 16:47:00 502

原创 调试

概述调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件。这里我简要的根据自己的经验列出调试中比较常用的技巧,希望对大家有用。本文约定,在选择菜单时,通过/表示分级菜单,例如File/Open表示顶级菜单File的子菜单Open。设置为了调试一个程序,首先必须使程序中包含调试信息。一般情况下,一个从AppWizard创建

2007-09-28 15:41:00 1245 1

原创 typedef用法注意事项

  #include  int main(void) {       int i = 20;       typedef int *myint;       const myint mintval = &i;       cout       return 0; }//运行结果显示为 2

2007-09-28 15:33:00 716

原创 GetBuffer and ReleaseBuffer体会

 CString s( "abcd" );#ifdef _DEBUGafxDump #endifLPTSTR p = s.GetBuffer( 100);   //means 开辟的buffer的size.strcat( p, "Hello" );   // directly access CString buffers.ReleaseBuffer(-1);     //改变了字符串内容,务必

2007-09-28 13:31:00 587

原创 内存句柄与指针的区别

问题: 请专家详细介绍一下内存句柄与指针的区别。          指针对应着一个数据在内存中的地址,得到了指针就可以自由地修改该数据。Windows并不希望一般程序修改其内部数据结构,因为这样太不安全。所以Windows给每个使用GlobalAlloc等函数声明的内存区域指定一个句柄(本质上仍是一个指针,但不要直接操作它),平时你只是在调用API函数时利用这个句柄来说明要操作哪段内存。当你需

2007-09-27 13:35:00 665

原创 windows 内存分配杂谈

1.GlobalAlloc是win16留下来的函数,它调用HeapAlloc分配堆中的内存。在理想的win32环境下,我们不需要GlobalAlloc,但是实际上,我们还得保留从win16移植过来的许多代码。在这些代码中使用了“内存句柄”(HGLOBAL)参数而不是32位的内存地址。               GlobalAlloc根据其属性参数做两件不同的事情。如果参数指定了GMEM_FIXE

2007-09-27 13:20:00 764

十个数学公式的c程序

比较经典的数学公式的c程序的实现。

2008-07-10

internet 编程

还不错的网络编程资料

2008-07-10

空空如也

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

TA关注的人

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