C++中的虚函数(一)
作者:aber
虽然很难找到一本不讨论多态性的C++书籍或杂志,但是,大多数这类讨论使多态性和C++虚函数的使用看起来很难。我打算在这篇文章中通过从几个方面和结合一些例子使读者理解在C++中的虚函数实现技术。说明一点,写这篇文章只是想和大家交流学习经验因为本人学识浅薄,难免有一些错误和不足,希望大家批评和指正,在此深表感谢!
一、 基本概念
首先,C++通过虚函数实现多态."无论发送消息的对象属于什么类,它们均发送具有同一形式的消息,对消息的处理方式可能随接手消息的对象而变"的处理方式被称为多态性。"在某个基类上建立...
- [blackberry] 楼上说的对,鄙视1楼的“游客”! 08/31 09:26
- [zjdayy] 哦,学习是自己的事情。自己才是最好的老师。 08/30 13:54
- [游客] 不知道训练营到底是怎么回事,为什么半年多了也没动静,办不下去的话也请管理员通知大家。 08/30 04:22
- [younggay] 实验4第一题程序正确。 08/18 08:58
- [游客] 呵呵 看来大家干什么的都有啊 !!! 08/06 21:43
- [inuyashall] TO 1楼: 啊,我好像明白了。a命令写入汇编指令的过程就是将机器码存入内存的过程,所以内存的确是 08/06 18:05
- [inuyashall] 楼上,为什么呢? a命令只是写入汇编指令吧?如果没有t命令来执行,仅有a命令又如何修改内存呢? 08/06 18:00
- [zjdayy] 恩,楼上说的不错就是这本,可以看看。 08/06 17:47
- [inuyashall] 刚去图书馆查了下,信息如下: 系统号- 图书 000639772 ISBN 978-7 08/06 17:39
- [游客] 借不来就买去,我去网上搜搜,是谁写的?那个出版社出的? 08/06 17:26
[2009-09-22 00:58] 转载:c++中的虚函数
阅读全文 |
评论次数(0) |
浏览次数(358) |
所属类型(c++学习)
[2009-09-21 00:13] 多维数组指针及动态分配内存学习
#include<iostream>
using namespace std;
/*void main()
{ int b[2][3]={{1,2,3,},{4,5,6}};
int (*p)[3];
p=b;
cout<<"**p= "<<**p<<endl;//结果为1
cout<<"*p[1]= "<<*p[1]<<endl;//结果为4
cout<<"(*p)[1]= "<<(*p)[1]<<endl;//结果为2
}
*/
动态分配内存
//关键理解new操作
根据指定格式分配内存并返回指针
如:T *p=...
using namespace std;
/*void main()
{ int b[2][3]={{1,2,3,},{4,5,6}};
int (*p)[3];
p=b;
cout<<"**p= "<<**p<<endl;//结果为1
cout<<"*p[1]= "<<*p[1]<<endl;//结果为4
cout<<"(*p)[1]= "<<(*p)[1]<<endl;//结果为2
}
*/
动态分配内存
//关键理解new操作
根据指定格式分配内存并返回指针
如:T *p=...
阅读全文 |
评论次数(0) |
浏览次数(353) |
所属类型(c++学习)
[2009-08-31 20:03] windows内部运行机制II
初步学习了vc编程,在基于事件驱动的消息机制的windows编程要比dos下的编程有所难道,不过它的所见即所得让人心动。接触即着迷,情不自禁去学习。学完第一章,自己算有所收获。
学会了创建窗口的过程:设计窗口类,注册窗口,创建窗口,更新窗口。而要让程序和用户交换引入了消息机制,然而应用程序如何感知用户操作呢,就是用回调函数来实现。具体实现过程:
1.用户的操作(如按下鼠标)。
2.操作系统把消息打包投递到应用程序的消息队列(注意:不是所有消息都应该消息队列被处理)
3.应用程序把消息从队列中取出。
4.让os调用回调函数来处...
学会了创建窗口的过程:设计窗口类,注册窗口,创建窗口,更新窗口。而要让程序和用户交换引入了消息机制,然而应用程序如何感知用户操作呢,就是用回调函数来实现。具体实现过程:
1.用户的操作(如按下鼠标)。
2.操作系统把消息打包投递到应用程序的消息队列(注意:不是所有消息都应该消息队列被处理)
3.应用程序把消息从队列中取出。
4.让os调用回调函数来处...
阅读全文 |
评论次数(0) |
浏览次数(410) |
所属类型(vc学习笔记)
[2009-08-29 22:49] windows内部运行机制
1.1 API与SDK
操作系统提供给应用程序的接口:API
软件开发包:SDK
1.2
窗口:1.可以分为客户区,非客户区。
2.窗口是通过句柄标识的,对窗口操作就得知道窗口句柄:HWND。 记住一点:句柄是资源的标示符,想操作句柄的操作就相当对资源的引用。
1.3
1.消息与消息队列
消息:MSG;
其数据结构:
typedef struct tagMSG{
HWND hwnd;
...
操作系统提供给应用程序的接口:API
软件开发包:SDK
1.2
窗口:1.可以分为客户区,非客户区。
2.窗口是通过句柄标识的,对窗口操作就得知道窗口句柄:HWND。 记住一点:句柄是资源的标示符,想操作句柄的操作就相当对资源的引用。
1.3
1.消息与消息队列
消息:MSG;
其数据结构:
typedef struct tagMSG{
HWND hwnd;
...
阅读全文 |
评论次数(3) |
浏览次数(460) |
所属类型(vc学习笔记)
[2009-08-20 21:31] 看雪上关于反汇编的文章(转帖)
【原创】简单反汇编阅读(1-5,附视频语音教程)
--------------------------------------------------------------------------------
《简单反汇编阅读》是我学习了《天书夜读》后写的心得,并做成了动画, 也可以说是我看《天书夜读》的读书笔记吧。我贴出文本,然后提供动画的下载地址,希望对还没入门的兄弟有所帮助,也希望高手能指出我的不足。
大家好,我是 BoXer ,今天为大家做的动画是《简单反汇编阅读(一)》
这类的文章是不少,但是动画好像很少,那我做一个抛砖引玉吧。
由...
--------------------------------------------------------------------------------
《简单反汇编阅读》是我学习了《天书夜读》后写的心得,并做成了动画, 也可以说是我看《天书夜读》的读书笔记吧。我贴出文本,然后提供动画的下载地址,希望对还没入门的兄弟有所帮助,也希望高手能指出我的不足。
大家好,我是 BoXer ,今天为大家做的动画是《简单反汇编阅读(一)》
这类的文章是不少,但是动画好像很少,那我做一个抛砖引玉吧。
由...
阅读全文 |
评论次数(0) |
浏览次数(464) |
所属类型(逆向分析)
[2009-08-11 16:35] HOOK编程与消息处理
HOOK编程与消息处理
skylar 发表于 2008-10-16 9:59:00
0
推荐阅读本文需要一定的C++基础和windows编程基础,另外对动态链接库原理和机制也要有一定了解。我尽量讲解得简单明了一些。
因为考试系统项目中要对系统中的键盘消息进行处理,而WEB页面中对系统热键、功能键不能进行有效处理,如(ALT+F4 ALT+TABLE等等),因此需要编写一个WIN32下的客户端程序,内嵌一个WebBrownser实现页面显示(或用CHtmlView对象实现,其实道理都是一样的),这样我可以在客户端程序框架中对键盘消息进行处理。
本文介绍的内容主要是利用动态...
skylar 发表于 2008-10-16 9:59:00
0
推荐阅读本文需要一定的C++基础和windows编程基础,另外对动态链接库原理和机制也要有一定了解。我尽量讲解得简单明了一些。
因为考试系统项目中要对系统中的键盘消息进行处理,而WEB页面中对系统热键、功能键不能进行有效处理,如(ALT+F4 ALT+TABLE等等),因此需要编写一个WIN32下的客户端程序,内嵌一个WebBrownser实现页面显示(或用CHtmlView对象实现,其实道理都是一样的),这样我可以在客户端程序框架中对键盘消息进行处理。
本文介绍的内容主要是利用动态...
阅读全文 |
评论次数(0) |
浏览次数(449) |
所属类型(windows编程技术文摘)
[2009-08-09 21:29] 代码逆向乱谈之导引(转帖)
代码逆向乱谈之导引
创建时间:2008-05-04
文章属性:原创
文章提交:xikug (xikug_at_163.com)
代码逆向乱谈之导引
序
早就想写点什么,自己都不知道一天在瞎忙什么,一直到最近才开始动手。。。我想通过这个乱谈系列跟大家分享一些心得。我打算在这个系列文章中讲点方法与思路,当然,很多方法并不是我的原创,只是我用这些方法和思路解决了我的实际问题。由于本人水平有限,很多说法只是我个人的理解,然后用我自己的语言表达出来,可能并不专业,所以在这里不负责任的乱谈一下,欢迎大家拍砖。
什么是代码逆向
代码逆向即是在没有源代码的情况下,对...
创建时间:2008-05-04
文章属性:原创
文章提交:xikug (xikug_at_163.com)
代码逆向乱谈之导引
序
早就想写点什么,自己都不知道一天在瞎忙什么,一直到最近才开始动手。。。我想通过这个乱谈系列跟大家分享一些心得。我打算在这个系列文章中讲点方法与思路,当然,很多方法并不是我的原创,只是我用这些方法和思路解决了我的实际问题。由于本人水平有限,很多说法只是我个人的理解,然后用我自己的语言表达出来,可能并不专业,所以在这里不负责任的乱谈一下,欢迎大家拍砖。
什么是代码逆向
代码逆向即是在没有源代码的情况下,对...
阅读全文 |
评论次数(0) |
浏览次数(532) |
所属类型(逆向分析)
[2009-08-09 14:22] 最近在CSDN上看到马铮的视频推荐大家看看
马铮的求职视频:http://v.youku.com/v_show/id_XNTExMDUyMDA=.html
感觉应该好好努力,珍惜每一天学好技术。...
感觉应该好好努力,珍惜每一天学好技术。...
阅读全文 |
评论次数(0) |
浏览次数(552) |
所属类型(默认类型)
[2009-08-07 01:21] 8086CPU寄存器 实验4
共14个,全部为16位,
名称 释义 AX 算术累加寄存器
BX 基址指针寄存器 (和ds配合来进行基址指针的变换,
比如mov al,ds:[bx],这里你就不能使用 除了bx以外的寄存 器)
CX 计数寄存器 Count Register 主要用于循环等计数操作
DX 数据寄存器 Data Register
DS 数据段寄存器 Data Segm...
名称 释义 AX 算术累加寄存器
BX 基址指针寄存器 (和ds配合来进行基址指针的变换,
比如mov al,ds:[bx],这里你就不能使用 除了bx以外的寄存 器)
CX 计数寄存器 Count Register 主要用于循环等计数操作
DX 数据寄存器 Data Register
DS 数据段寄存器 Data Segm...
阅读全文 |
评论次数(1) |
浏览次数(474) |
所属类型(汇编作业)
[2009-08-06 16:02] 推荐一本书
今天在苏州图书馆看了本——— 《揭秘 数据解密的关键技术》。本以为应该和《加密解密》差不多,看了这本书才知道较之而言本书更多的是关注对汇编代码与高级语言之间的互动,即通过剖析高级语言(更多的是c)的反汇编代码,加深对汇编的分析阅读能力。进一步对文件的数据的格式分析解密,来发现数据背后的秘密。同时也强调汇编的内嵌技巧,以及用汇编在网游外挂等技术数据解密方面的介绍。可惜本书不能外借,真想把很多实例加以实践。网友可以看看本书,对你应该很有益处。...
阅读全文 |
评论次数(4) |
浏览次数(492) |
所属类型(默认类型)
『 查看更多文章 』