VC++编程
TerryZhao1086
软件开发者,能够在Windows/Linux或移动平台上熟练运用C/C++及各种库进行开发。
展开
-
函数重载与虚函数的区别
函数重载与虚函数的区别 重载函数,重载可以看作是静态的多态。函数重载的返回类型及所带的参数必须至少有一样不完全相同,只需函数名相同即可。基类中定义的虚函数在派生类中重新定义时,其函数原型,包括返回类型、函数名、参数个数、参数类型及参数的先后顺序,都必须与基类中的原型完全相同。重载虚函数时,若与基类中的函数原型出现不同,系统将根据不同情况分别处理:(1)仅仅返回类型不同,其余相同,原创 2008-12-31 12:50:00 · 3271 阅读 · 0 评论 -
VC++中有关句柄和指针及其转换
VC++中有关句柄和指针及其转换1.MFC窗口的句柄和指针的转换 (1) 一般窗口对象都会有一个其对应的句柄变量,所以我们可以取此对象的m_hWnd属性来得到句柄。 (2)使用GetSafeHwnd函数取得程序所在窗口类的句柄 (3)使用FromHandle函数来通过句柄得到其想要的指针 其他的一些方法: GetActiveWindow 取当前原创 2008-12-31 15:34:00 · 1235 阅读 · 0 评论 -
自己总结的一些VC常用技巧
Ctrl+1 插入对话框资源; Ctrl+2 插入菜单资源; Ctrl+3 插入光标资源; Ctrl+4 插入图标资源; Ctrl+5 插入位图资源; Ctrl+6 插入工具栏资源; Ctrl+7 插入加速健表资源; Ctrl+8 打开字符串资源; Ctrl+9 打开版本资源。在Debug时: F5:原创 2009-02-10 14:38:00 · 700 阅读 · 0 评论 -
编译预处理一些知识简单总结
# 空指令,无任何效果 #include 包含一个源代码文件 #define 定义宏 #undef 取消已定义的宏 #if 如果给定条件为真,则编译下面代码 #ifdef 如果宏已经定义,则编译下面代码 #ifndef 如果宏没有定义,则编译下面代码 #elif 如果前面的#if给定条件不为真,当前条件为真,则编译下面代码 #endif 结束一个#if……#else条件编译块 #error 停止编原创 2009-07-30 10:27:00 · 885 阅读 · 0 评论 -
#pragma用法归纳
#pragma用法归纳#pragma是一个C语言中的预处理指令,在所有的预处理指令中,#Pragma 指令可能是最复杂的了.它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。其格式一般为:#pragma原创 2009-07-30 10:30:00 · 1310 阅读 · 0 评论 -
Windows钩子及钩子函数简介
WINDOWS的钩子函数可以认为是WINDOWS的主要特性之一。利用它们,您可以捕捉您自己进程或其它进程发生的事件。通过“钩挂”,您可以给WINDOWS一个处理或过滤事件的回调函数,该函数也叫做“钩子函数”,当每次发生您感兴趣的事件时,WINDOWS都将调用该函数。一共有两种类型的钩子:局部的和远程的。 局部钩子仅钩挂您自己进程的事件。 远程的钩子还可以将钩挂其它进程发生的事件。远原创 2009-06-24 13:45:00 · 934 阅读 · 0 评论 -
C++多态与虚函数简单介绍
多态: 子类中对父类已有成员函数进行重新定义(返回类型和参数不变,只是改变函数的内部代码实现方式, 否则就是重载而非多态), 并加上virtual声明为虚函数,从而形成多态, 在调用此系列成员函数时由对象所属的类自动来区别调用哪个函数.如下虚函数的实现: class A { public: virtual int getAge() { }原创 2009-12-17 10:08:00 · 629 阅读 · 0 评论