Welcome 微信登录

首页 / 软件开发 / C++

C++的静态绑定和动态绑定概述

C++的静态绑定和动态绑定概述

C++的静态绑定和动态绑定概述2014-11-11C++在面向对象编程中,存在着静态绑定和动态绑定的定义,本节即是主要讲述这两点区分。我是在一个类的继承体系中分析的,因此下面所说的对象一般就是指一个类的实例。首先我们需要明确几个名词定义:静态类型:对象在声明时采用的类型,在编译期既已确定;动态类型:通常是指一个指针或引用目前所指对象的类型,是在运行期决定的;静态绑定:绑定的是静态类型,所对应的函数或属性依赖于对象的静态类型,发生在编译期;动态绑定:绑定的是...
Windows实时通信技术的应用

Windows实时通信技术的应用

Windows实时通信技术的应用2010-07-06孟谨摘要Windows XP RTC 的客户端 API 使得开发人员能够在自己的应用程序中实现实时通信。本文介绍了 RTC 技术和应用这一技术所必须的组件。绪论今天,我们可以采取很多方法和我们的伙伴、客户、支持者、家庭和朋友进行交流。E-mail已经成为一个普遍深入的交流方式,但是它的实时性不强。电话被证明是一种好的交流方式并且具有实时性,但是它也有局限性,比如只有声音的交流,并且它缺乏一种机制来使我们知...
C++中数据对齐问题:struct、union、enum。再谈sizeof()

C++中数据对齐问题:struct、union、enum。再谈sizeof()

C++中数据对齐问题:struct、union、enum。再谈sizeof()2014-11-11首先是struct,在C++中,结构体其实和class有很大的相似了。但是有一点不同的是,struct默认是public,而class中是private.当然,struct继承等用法也是可以的。共用体的声明方式是:枚举的声明方式与共用体比较相似其中a初始化为0,后面默认增1,若已经初始化,则后面再增1,比如d=6在这里。struct长度计算大家猜一下,s1 x...
无模式对话框的创建与使用

无模式对话框的创建与使用

无模式对话框的创建与使用2010-07-06张连成在编程过程中,对话框经常用到,但对无模式和模式对话框的创建和销毁过程,经常有误解,下面提供一个无模式对话框的例子来剖析无模式对话框的形成:无模式对话框与有模式对话框不同的是在创建后其他窗口都可以继续接收用户输入,因此无模式对话框有些类似一个弹出窗口。创建无模式对话框需要调用BOOL CDialog::Create( UINT nIDTemplate, CWnd* pParentWnd = NULL );之后...
VC命名管道通信的实现

VC命名管道通信的实现

VC命名管道通信的实现2010-07-06无论是sqlserver的用户,还是pb的用户,作为c/s结构开发环境,他们在网络通信的实现上,都有一种共同的方法——命名管道。由于当前操作系统的不惟一性,各个系统都有其独自的通信协议,导致了不同系统间通信的困难。尽管tcp/ip协议目前已发展成为internet的标准,但仍不能保证c/s应用程序的顺利进行。命名管道作为一种通信方法,有其独特的优越性,这主要表现在它不完全依赖于某一种协议,而...
计算sizeof的值的32位C++程序

计算sizeof的值的32位C++程序

计算sizeof的值的32位C++程序2014-11-11sizeof(str) = 6; //字符串数组,大小是六个字节(加上""共六个)。sizeof(p) = 4; // 指针的内容就是一个指向目标地址的整数,所以不管指向char、int还是其他,32位机指针一律是4个字节。sizeof(n) = 4; // int型变量是4个字节。右侧:sizeof(str) = 4; // 这里的str不再是100100字节。当数组作为函数的参数进行传递时,也就...
使用VC6.0实现窗口的任意分割

使用VC6.0实现窗口的任意分割

使用VC6.0实现窗口的任意分割2010-07-06张中庆一、关于CSplitterWnd类我们在使用CuteFtp或者NetAnt等工具的时候,一般都会被其复杂的界面所吸引,在这些界面中窗口被分割为若干的区域,真正做到了窗口的任意分割。 那么我们自己如何创建类似的界面,也实现窗口的任意的分割呢 ?在VC6.0中这就需要使用到CSplitterWnd类。CSplitterWnd看上去像是一种特殊的框架窗口,每个窗口都被相同的或者不同的视图所填充。当窗口被切...
实现操作过程提示对话框

实现操作过程提示对话框

实现操作过程提示对话框2010-07-11在使用Windows95 进行文件拷贝或者删除操作时,您一定见到过那种具有文件动画的操作过程提示对话框。这一功能的加入不仅使我们能够在操作过程当中随时取消操作,而且也使文件拷贝或者删除操作变得生动活泼。其实,在使用Visual C++ 进行应用程序设计时,我们也可以使用下述方法在适当位置加入自己的操作过程提示对话框。为每一个操作过程提示对话框创建一个对话框类。为了下面叙述方便,我们只假设应用程序需要一个操作过程提示...
程序启动画面

程序启动画面

程序启动画面2010-07-11 VC知识库 YU JHIN CHIN在VC知识库上看到许多有关程序启动画面的程序而我觉得程序讲求的是"简而易懂",不需要太多的技巧,只要程序写的出来就好,于是我以另外一种简便的方式来设计程序启动画面同时在程序启动时播放音效,此程序的关键在于Sleep以及PlaySound这两个API函数与StrectBlt这个函数必须记得连结winmm.lib才可使用PlaySound函数,具体方法如下:在CSplas...
C++:RTTI(RunTime Type Information)运行时类型信息 详解

C++:RTTI(RunTime Type Information)运行时类型信息 详解

C++:RTTI(RunTime Type Information)运行时类型信息 详解2014-11-14RTTI, RunTime Type Information, 运行时类型信息, 是多态的主要组成部分,通过运行时(runtime)确定使用的类型, 执行不同的函数,复用(reuse)接口.dynamic_cast<>可以 使基类指针转换为派生类的指针, 通过判断指针的类型, 可以决定使用的函数.typeid(), 可以判断类型信息, 判...
操作DHTML表格的C++对象

操作DHTML表格的C++对象

操作DHTML表格的C++对象2010-07-11黄建雄如果在您的软件中需要输出报表,您也许有很多办法,但实现起来估计就不简单了。其实用DHTML提供的表格可以在很大程度上满足一般的需求。本文正是试图通过包装对DHTML表格的操作使程序员从无聊的报表设计中解脱出来。该模块提供以下几个接口://***********************************************// 设置索引列的显示格式:遵循sprintf函数的规则//****...
C++:模板函数需要类型转换时使用友元(friend)模板函数

C++:模板函数需要类型转换时使用友元(friend)模板函数

C++:模板函数需要类型转换时使用友元(friend)模板函数2014-11-14模板函数的隐式(implicit)类型转换, 涉及到模板参数(typename)的确定问题.从int或double类型, 无法隐式转换为模板类(template class)的类型, 因为无法确定模板参数类型(typename), 就无法确定构造函数的参数.所以需要使模板函数, 与模板类拥有相同的参数类型(typename), 则需要成为模板类的友元(friend).模板类的...
简单的日记本程序

简单的日记本程序

简单的日记本程序2010-07-11吴会然我开发的一个基于对话框的日记本小程序。以前在VC知识库中找基于对话框的序列化存储的程序一直没有找到,就自己做了一个。用到了链表和序列化,在对话框中使用工具栏,希望对大家有所帮助。首先,定义一个自己的结构体类,用来存储将要保存的信息。class CMyDiary //定义一个自己的结构体,用来存储信息{public:CTime m_TDate;CString m_strWeek;CString m_strWeathe...
从资源中加载皮肤

从资源中加载皮肤

从资源中加载皮肤2010-07-11翼山由于单位上最近要开发一个内部使用的小型项目,我需要一个运行稳定的,能够将皮肤文件放到资源里的并且易于使用的界面开发包,当然,免费的最好。于是利用google一阵狂搜,嘿,真还找到了这样的一个开发库:AppFace For VC 0.2。AppFace For VC 支持Win9X/NT/2K/XP,UNICODE/ANSI,能够对目标进程里的所有Widows标准控件,系统菜单,通用对话框等实现换肤,对非商业用途而言,...
C++:使用非成员函数(non-member)处理函数的所有参数都需要类型转换

C++:使用非成员函数(non-member)处理函数的所有参数都需要类型转换

C++:使用非成员函数(non-member)处理函数的所有参数都需要类型转换2014-11-14有些函数, 所有参数都需要使用类型转换, 比如乘法, 写一个有理数类Rational, 需要执行乘法操作:函数满足: Rational = Rational*double; Rational = double*Rational; 则需要使用非成员函数(non-member);成员函数的发起者必须是类, 因为可能出现double类型在前的情况, 则无法执行乘法,...
软件热点敏感帮助的实现

软件热点敏感帮助的实现

软件热点敏感帮助的实现2010-07-11wjiahao很多人问起现在的CHM帮助文档如何作为软件的热点敏感帮助,网上搜索的资料也不多,可能是太简单了吧,呵呵!今天整理了一下,详细的介绍在VC开发的软件中对CHM帮助文档的调用方法以及CHM帮助文档的制作要求。一、软件中对CHM帮助文档的调用方法VC中调用CHM帮助必须用API函数HtmlHelp(),此函数在LIB库函数内,为方便调用,我把它整体打包了,您要做的就是把它放到VC工程所在的目录,然后包含CH...
<< 271 272 273 274 275 276 277 278 279 280 >>