Welcome 微信登录

首页 / 软件开发 / C++

面向对象语言概论(二)

面向对象语言概论(二)

面向对象语言概论(二)2011-04-144. Subsumption和Dynamic Dispatch (译者按:呵呵,黔驴技穷,找不到合适的翻译了)从上述的几个例子来看,似乎子类只是用来从父类借用一些定义,以避免重复。但是,当我们考虑到subsumption, 事情就有些不同了。什么是Subsumption呢?请看下面这个例子:var myCell: InstanceTypeOf(cell) := new cell;var myReCell: Inst...
可用于数论计算的无符号大整数类

可用于数论计算的无符号大整数类

可用于数论计算的无符号大整数类2010-01-23缪元虎前些日子,无意中访问到三思科学网,里面介绍了许多数论问题,这也是我儿时的爱好,于是就利用空闲时间编写了一个用于数论计算的无符号大整数类。一、类的基本结构Class CUSuperInt{public://构造及析构函数CUSuperInt();CUSuperInt(DWORD dwValue);CUSuperInt(char* pszVal);CUSuperInt(CUSuperInt& x)...
面向对象语言概论(三)

面向对象语言概论(三)

面向对象语言概论(三)2011-04-14传统的基于类的面向对象语言的一个主要特点就是inheritance, subclassing和subtyping之间的密不可分的联系。很多的面向对象语言的语法,概念,就是从这三者而来的。比如说,通过subclassing, 你可以继承父类的一些方法,而同时你又可以在子类中改写父类的方法。这个改写过的方法,通过subtyping, subsumption, 又可以从一个类型是父类的对象去调用。但是,inheritan...
使非MFC窗口程序的窗口回调过程成为C++类的成员函数

使非MFC窗口程序的窗口回调过程成为C++类的成员函数

使非MFC窗口程序的窗口回调过程成为C++类的成员函数2010-01-23luzhl一直以来,编写非MFC下的窗口程序,都习惯把窗口过程及消息处理函数编写成全局函数。为了把窗口回调过程及窗口消息处理函数封装成C++窗口类的成员函数,于是我编写了抽象类CWndProc:一、头文件//wndpro.h#ifndef __WNDPROC_H__#define __WNDPROC_H__class CWndProc{protected://保护的构造函数,必须由派...
利用堆排序实现学生成绩管理

利用堆排序实现学生成绩管理

利用堆排序实现学生成绩管理2011-04-14尹聪春1 引言排序是计算机数据处理及其它许多软件系统中常用的一种操作。排序的目的通常是为了便于查找或为了适应某些查找算法的需要。例如,在统计高考成绩的系统中,要产生几个表。第一个表按考生的考号从小到大的顺序,列出所有考生的成绩;第二个表按考生的考试成绩从高到低的顺序,列出所有考生的成绩等等。在这样的系统中就要多次进行排序操作。排序(Sorting)是把一个无序的数据元素序列按某个关键字进行有序(递增或递减)排列...
一个小语言的词法分析程序

一个小语言的词法分析程序

一个小语言的词法分析程序2010-01-24 VC知识库 loyalzu前些天写了个小语言的词法分析程序,因为前些天在VC知识库看到一个pascal词法分析的程序,觉得写得挺复杂的。其实词法分析程序的原理都是一样的,所以我想只要搞明白了简单的词法分析程序,再写复杂的就不难了,无非是多加几个关键字,多写几个条件判断语句而已。词法分析是编译程序的基础,也是最简单的。好,现在让我们看程序吧。先让我们看看这个小语言的文法吧。G[<程序>]:<程序...
在C++中实现属性

在C++中实现属性

在C++中实现属性2010-01-24虞振祥开发测试环境:Visual C++ 7.0, Windows XP sp1, Windows 2000 sp3摘要本文试着在C++中不使用任何扩展技术模拟C#(或其他语言)中的属性特征。大多数在C++实现属性的库和编译器使用扩展技术,如Managed C++或C++ Builder,或者他们使用如通常函数的set和get方法,但那不是属性。详述我们首先看一下什么是属性。一个属性表现为一个字段或者成员变量,但它通过...
利用curl下载文件(进度条显示) 代码片段

利用curl下载文件(进度条显示) 代码片段

利用curl下载文件(进度条显示) 代码片段2011-04-14阿汐在项目中需要用到程序更新的功能,同事介绍说是curl中的开发库很牛x,又是跨平台(他们 总是这么喜欢跨平台的东西 *_*),于是下载这个包测试了一下,确实不错。准备正式用到项 目中,以下一个例子用于从互联网上抓取一个文件下载到本地,并加上进度条显示,做得挺 简陋,不过功能差不多就这样了。程序运行预览.首先需要 加入多线程的机制,因为程序一边在下载文件,一边在显示进度条,单线程的方式肯定不行...
在WTL中使用MD5加密法

在WTL中使用MD5加密法

在WTL中使用MD5加密法2010-01-24 VC知识库 聂华闻不记得在哪个地方得到了一个MD5加密法的类,由于开发的原因要在WTL中使用MD5加密法,但是,这个类并不能直接的用在WTL中(In MFC it was an easy job ),所以我就修改了一下,并写出此文,以方便大家以后在WTL中使用MD5加密法。不过,小弟水平有限,有错漏地方,望各位哥姐包涵。程序的运行界面如下:First of all :在你的VC编译器中配置WTL(Copy 一...
在VC中添加资源文件,使程序在Vista上用管理员权限运行

在VC中添加资源文件,使程序在Vista上用管理员权限运行

在VC中添加资源文件,使程序在Vista上用管理员权限运行2010-01-24 Vista之家 就像大家使用Vista优化大师或者Windows磁盘整理大师那样,如果开启了UAC用户账户控制系统,那么图标上面都会有个盾牌小图标,而且在运行的时候,也会提示需要管理员权限。这些,是怎么做到的呢?对于VC程序员来说,这个过程其实并不复杂,大家看下下面的代码:///////// 本行以下为代码,不含本行<?xml version=”1.0&Pri...
分布式基础学习【一】 —— 分布式文件系统

分布式基础学习【一】 —— 分布式文件系统

分布式基础学习【一】 —— 分布式文件系统2011-04-14 博客园 duguguiyu分布式基础学习所谓分布式,在这里,很狭义的指代以Google的三驾马车,GFS、Map/Reduce、BigTable 为框架核心的分布式存储和计算系统。通常如我一样初学的人,会以Google这几份经典的论 文作为开端的。它们勾勒出了分布式存储和计算的一个基本蓝图,已可窥见其几分风韵,但 终究还是由于缺少一些实现的代码和示例,色彩有些斑驳,缺少了点感性。幸好我们还有 ...
如何在改变鼠标光标时不闪烁

如何在改变鼠标光标时不闪烁

如何在改变鼠标光标时不闪烁2010-01-24微软知识库有一篇文章Q131991描述了三种方法来改变基于MFC应用的鼠标光标。其中一种方法是重载CWnd::PreCreateWindow()函数注册自己的要改变鼠标指针的窗口类。这个方法对于要始终使用一个鼠标光标的应用程序很适合。如果在应用程序中要动态改变鼠标光标,微软知识库的这篇文章建议重载CWnd::OnSetCursor()来实现。但是这种方法有一个缺点,就是当设置鼠标光标及还原时都会出现令人讨厌的光...
分布式基础学习【二】 —— 分布式计算系统(Map/Reduce)

分布式基础学习【二】 —— 分布式计算系统(Map/Reduce)

分布式基础学习【二】 —— 分布式计算系统(Map/Reduce)2011-04-14 博客园 duguguiyu二. 分布式计算(Map/Reduce)分布式式计算,同样是一个宽泛的概念,在这里,它狭义的指代,按Google Map/Reduce 框架所设计的分布式框架。在Hadoop中,分布式文件系统,很大程度上,是为各种分布式计 算需求所服务的。我们说分布式文件系统就是加了分布式的文件系统,类似的定义推广到分 布式计算上,我们可以将其视为增加了分布式...
如何在应用程序忙碌时探测用户的按健

如何在应用程序忙碌时探测用户的按健

如何在应用程序忙碌时探测用户的按健2010-01-24这个问题在论坛中的出现频率很高。在解决这个问题时,首先要明确Windows处理用户输入的方法完全不同于Dos操作系统。当用户按键后,Dos应用向操作系统提出请求,而在Windows中,当用户事件发生时,是由Windows请求调用相应的代码,代码实现自己必须的处理,最后将控制返回到操作系统。当你从Dos操作系统编程转向Windows的时候,你会很不习惯Windows的面向事件与消息的处理模式,但是面向对象...
C++的可移植性和跨平台开发[1]:编译器

C++的可移植性和跨平台开发[1]:编译器

C++的可移植性和跨平台开发[1]:编译器2011-04-14编程随想在跨平台的开发过程中,很多问题都和编译器有关。因此我们先来聊聊编译器相关的问题 。★编译器的选择首先,GCC是优先要考虑支持的,因为几乎所有操作系统平台都有GCC可用。它基本上成了 一个通用的编译器了。如果你的代码在A平台的GCC能够编译通过,之后拿到B平台用类似版本 的GCC编译,一般也不会有太大问题。因此GCC是肯定要考虑支持的。其次,要考虑是否支持本地编译器。所谓本地编译器就是操作...
Ado实现C++对象的存取

Ado实现C++对象的存取

Ado实现C++对象的存取2010-02-19江上飞鸟其实我最讨厌写东西了,最近忙死了,呵呵,前一段时间在做一个图形程序时,需要把C++对象保存到数据库里,刚开始真让我头疼啊,琢磨了一个下午,终于给做出来了,废话不说了,还是把自己的一些体会与各位同任一起分享!!!!一、新建一个继承于 CObject 的子类 CLine;头文件:Line.h class CLine : public CObject?{private : LOGPEN m_logPen; ...
<< 231 232 233 234 235 236 237 238 239 240 >>