Welcome 微信登录

首页 / 软件开发 / C++

高质量C++/C编程指南-第8章-C++函数的高级特性(4)

高质量C++/C编程指南-第8章-C++函数的高级特性(4)

高质量C++/C编程指南-第8章-C++函数的高级特性(4)2007-05-06林锐8.3 参数的缺省值有一些参数的值在每次函数调用时都相同,书写这样的语句会使人厌烦。C++语言采用参数的缺省值使书写变得简洁(在编译时,缺省值由编译器自动插入)。参数缺省值的使用规则:l 【规则8-3-1】参数缺省值只能出现在函数的声明中,而不能出现在定义体中。例如:void Foo(int x=0, int y=0); // 正确,缺省值出现在函数的声明中void Foo...
介绍一个控制并行端口的MFC类

介绍一个控制并行端口的MFC类

介绍一个控制并行端口的MFC类2010-02-19PJ Naughter支持环境:Windows 9x、Windows ME、Windows NT、Windows2000简介:这个类允许你使用低级端口I/O函数读写端口数据。例子程序使用这个类实现了PC到PC之间通过"PLT1"进行简单的C/S文件传输。特性:C++接口简洁易用支持UNICODE并且在编译生成程序时可以对UNICODE兼容特性进行配置支持广泛的Windows平台,包括Wi...
高质量C++/C编程指南-第9章-类的构造函数、析构函数与赋值函数(1)

高质量C++/C编程指南-第9章-类的构造函数、析构函数与赋值函数(1)

高质量C++/C编程指南-第9章-类的构造函数、析构函数与赋值函数(1)2007-05-06林锐构造函数、析构函数与赋值函数是每个类最基本的函数。它们太普通以致让人容易麻痹大意,其实这些貌似简单的函数就象没有顶盖的下水道那样危险。 每个类只有一个析构函数和一个赋值函数,但可以有多个构造函数(包含一个拷贝构造函数,其它的称为普通构造函数)。对于任意一个类A,如果不想编写上述函数,C++编译器将自动为A产生四个缺省的函数,如A(void); // 缺省的无参数...
介绍一个简单的GPS应用软件开发包

介绍一个简单的GPS应用软件开发包

介绍一个简单的GPS应用软件开发包2010-02-19简介:欢迎使用 GPSLIB,这是一个简单的软件开发包(SDK),你可以利用这个 GPSLIB 在自己的32位 Windows 应用程序中加入全球定位系统的支持。本文附带的源代码压缩文件中包含有 GPSLIB 库的源代码和 Demo 程序。很多文件中都有详细的注释说明。为了保证可下载文件的体积尽量的小,压缩文件中不含任何二进制文件。请使用Visual C++ 5 以上的版本编译并生成 DLLs、控制面板...
高质量C++/C编程指南-第9章-类的构造函数、析构函数与赋值函数(2)

高质量C++/C编程指南-第9章-类的构造函数、析构函数与赋值函数(2)

高质量C++/C编程指南-第9章-类的构造函数、析构函数与赋值函数(2)2007-05-06林锐9.2 构造函数的初始化表构造函数有个特殊的初始化方式叫“初始化表达式表”(简称初始化表)。初始化表位于函数参数表之后,却在函数体 {} 之前。这说明该表里的初始化工作发生在函数体内的任何代码被执行之前。构造函数初始化表的使用规则:u 如果类存在继承关系,派生类必须在其初始化表里调用基类的构造函数。例如class A{…A(...
DAO访问ACCESS数据库

DAO访问ACCESS数据库

DAO访问ACCESS数据库2010-02-19这是我前段时间学数据库时做的一个小程序,采用DAO访问ACCESS数据库,程序的主界面如下,控制相对来说很是简单,实现了数据库的基本操作。如图一所示:几点说明:在程序中使用了CButtonStyle这个免费类库,它可以实现带位图的按位,这里是以加载图标的方式操作的,在InitButtonSytle()中,为了使代码更短小,用循环实现了图标按钮。// 用循环实现必须手动改动Resource.h中的定义for (...
高质量C++/C编程指南-第9章-类的构造函数、析构函数与赋值函数(3)

高质量C++/C编程指南-第9章-类的构造函数、析构函数与赋值函数(3)

高质量C++/C编程指南-第9章-类的构造函数、析构函数与赋值函数(3)2007-05-06林锐9.3 构造和析构的次序构造从类层次的最根处开始,在每一层中,首先调用基类的构造函数,然后调用成员对象的构造函数。析构则严格按照与构造相反的次序执行,该次序是唯一的,否则编译器将无法自动执行析构过程。一个有趣的现象是,成员对象初始化的次序完全不受它们在初始化表中次序的影响,只由成员对象在类中声明的次序决定。这是因为类的声明是唯一的,而类的构造函数可以有多个,因此...
VC操作SQL Server主从表

VC操作SQL Server主从表

VC操作SQL Server主从表2010-02-19袁怀善工作之余,用VC作了一个小程序,是VC+SQL server模式的,程式内容比较简单,主要设及以下内容:窗口如何分割;多视图之间如何通信;列表视图的操作及事件处理;树形控件的操作及事件处理,利用递归根据数据库动态生成目录;实现主从表的显示 以下对程序细节稍作一下说明;一、窗口如何分割切分窗口既适用于SDI应用程序,也适宜于MDI应用程序。它通常驻是以类 CSplitterWnd来表示,对 Wind...
高质量C++/C编程指南-第9章-类的构造函数、析构函数与赋值函数(4)

高质量C++/C编程指南-第9章-类的构造函数、析构函数与赋值函数(4)

高质量C++/C编程指南-第9章-类的构造函数、析构函数与赋值函数(4)2007-05-06林锐类String的赋值函数比构造函数复杂得多,分四步实现:(1)第一步,检查自赋值。你可能会认为多此一举,难道有人会愚蠢到写出 a = a 这样的自赋值语句!的确不会。但是间接的自赋值仍有可能出现,例如// 内容自赋值b = a;…c = b;…a = c; // 地址自赋值b = &a;…a = *b;也许有人会...
VC++6.0中用ADO存取Access数据库的总结

VC++6.0中用ADO存取Access数据库的总结

VC++6.0中用ADO存取Access数据库的总结2010-02-19querw事情是这样的,我的女朋友想要对日常生活的开销做个记录,以便控制花钱的尺度。看她每日用笔头记录,然后和我抢电脑用,曰:要用附件中的计算器统计结果,每每如此 ,不胜其烦,就给她做了一个个人家庭记帐系统,一劳永逸解决问题。期间用到了ADO操作Access数据库,在网上找了若干关于ADO的资料结合实践总结了一点使用心得如下 ,供有相同需求的朋友参考:附带了那个个人记帐系统,运行的界面...
高质量C++/C编程指南-第10章-类的继承与组合(1)

高质量C++/C编程指南-第10章-类的继承与组合(1)

高质量C++/C编程指南-第10章-类的继承与组合(1)2007-05-06林锐对象(Object)是类(Class)的一个实例(Instance)。如果将对象比作房子,那么类就是房子的设计图纸。所以面向对象设计的重点是类的设计,而不是对象的设计。 对于C++程序而言,设计孤立的类是比较容易的,难的是正确设计基类及其派生类。本章仅仅论述“继承”(Inheritance)和“组合”(Composition)的概...
介绍一个Win32 API串口控制MFC打包类

介绍一个Win32 API串口控制MFC打包类

介绍一个Win32 API串口控制MFC打包类2010-02-19PJ Naughter支持环境:Windows 9x、Windows ME、Windows NT、Windows2000简介:这是一个Win32 API的打包类,对处理串口的Win32 API类进行了封装,借助这个类可以很方便地对串口进行操作。特性:C++接口简洁易用使用C++异常时,首选 Win32 常规的返回值机制。保证使用CSerialPort的代码更加健壮。支持UNICODE,支持M...
高质量C++/C编程指南-第10章-类的继承与组合(2)

高质量C++/C编程指南-第10章-类的继承与组合(2)

高质量C++/C编程指南-第10章-类的继承与组合(2)2007-05-06林锐10.2 组合l 【规则10-2-1】若在逻辑上A是B的“一部分”(a part of),则不允许B从A派生,而是要用A和其它东西组合出B。例如眼(Eye)、鼻(Nose)、口(Mouth)、耳(Ear)是头(Head)的一部分,所以类Head应该由类Eye、Nose、Mouth、Ear组合而成,不是派生而成。如示例10-2-1所示。class Eye{...
缓冲区溢出攻防

缓冲区溢出攻防

缓冲区溢出攻防2010-02-19局部变量很久以来,在人们心目中,“黑客”和病毒作者的身上总是笼罩着一层神秘的光环,他们被各种媒体描述成技术高手甚至技术天才,以至于有些人为了证明自己的“天才”身份而走上歧途,甚至违法犯罪。记得不久前就看到过这样一个案例:一位计算机专业研究生入侵了一家商业网站并删除了所有数据。当他在狱中接受记者的采访时,他非常自豪地说这样做只是为了证明自己和获得那种成就感。本文讨论的缓冲区溢出...
高质量C++/C编程指南-第11章-其它编程经验(1)

高质量C++/C编程指南-第11章-其它编程经验(1)

高质量C++/C编程指南-第11章-其它编程经验(1)2007-05-06林锐11.1 使用const提高函数的健壮性看到const关键字,C++程序员首先想到的可能是const常量。这可不是良好的条件反射。如果只知道用const定义常量,那么相当于把火药仅用于制作鞭炮。const更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。 const是constant的缩写,“恒定不变”的意思。被const修饰的东西都受到强制保护...
用多路复用I/O模型实现支持多个客户端的通信服务

用多路复用I/O模型实现支持多个客户端的通信服务

用多路复用I/O模型实现支持多个客户端的通信服务2010-02-19HuangRG引言多路复用I/O模型是UNIX/LINUX用得的最多的一种I/O模型。这种I/O模型在技术上的实现是包括select()以及FD_XXX的几个宏及常量。在单个进程中支持的客户端数量由FD_SETSIZE决定。Solaris 10和Linux 9.0默认为1024个,Windows 2000是64个。本文用代码给出该I/O模型处理多Client的一种实现。用select开发一...
透析ICMP协议(1):协议原理

透析ICMP协议(1):协议原理

透析ICMP协议(1):协议原理2010-02-19zhangliangsdICMP简介:对于熟悉网络的人来说, ICMP是再熟悉不过了. 它同IP协议一样工作在ISO模型的网络层, 它的全称是: Internet Control Message Protocal. 其在网络中的主要作用是:- 主机探测- 路由维护- 路由选择- 流量控制对于主机探测来说有很多方法,主机某些服务的BANNER,一些使用的应用程序,或者使用工具来检测主机,如NMAP,在WEB...
高质量C++/C编程指南-第11章-其它编程经验(2)

高质量C++/C编程指南-第11章-其它编程经验(2)

高质量C++/C编程指南-第11章-其它编程经验(2)2007-05-06林锐11.1.3 const成员函数任何不会修改数据成员的函数都应该声明为const类型。如果在编写const成员函数时,不慎修改了数据成员,或者调用了其它非const成员函数,编译器将指出错误,这无疑会提高程序的健壮性。以下程序中,类stack的成员函数GetCount仅用于计数,从逻辑上讲GetCount应当为const函数。编译器将指出GetCount函数中的错误。class ...
C++语言基础-入门简介

C++语言基础-入门简介

C++语言基础-入门简介2007-05-06C++是个强大的语言,可以用于做别的语言做不了的工作。但是,这种强大功能是有代价的。开始使用C++时,你可能会遇到内存溢出和访问失效等问题,使程序死机。这里用最简短的篇幅介绍C++语言基础。C++语言本身有专著介绍,这种书还特别厚,所以别指望我能用三言两语说清楚。读者学完本书并使用C++ Builder一般时间之后,最后对C++语言再作更深入的了解。 C++可以最充分地利用面向对象编程(OOP)的优势。OOP不只...
<< 21 22 23 24 25 26 27 28 29 30 >>