`
congfeng02
  • 浏览: 195770 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
文章列表
在C++中实现属性原作:Emad Barsoum翻译:虞振祥 下载本文示例源代码本文译自http://www.codeguru.com/cpp_mfc/Property.html的Implementing a Property in C++开发测试环境:Visual C++ 7.0, Windows XP sp1, Windows 2000 sp3摘要本文试着在C++中不使用任何扩展技术模拟C#(或其他语言)中的属性特征。大多数在C++实现属性的库和编译器使用扩展技术,如Managed C++或C++ Builder,或者他们使用如通常函数的set和get方法,但那不是属性。 详述我们 ...
// Destruct.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> using namespace std; class A { public: A() { cout << "A::A()" << endl; } virtual ~A() { cout << "A::~A()" < ...
<html> <head> <mce:script type="text/javascript"><!-- function CTest(width, height) { this.m_nWidth=width; this.m_nHeight=height; } CTest.prototype= { m_nWidth: 0, m_nHeight: 0, m_pfnPrintInfo: function() { var strInfo = "&q ...
如何在运行时确定对象类型(RTTI)作者:NorthTibet RTTI 是“Runtime Type Information”的缩写,意思是:运行时类型信息。它提供了运行时确定对象类型的方法。本文将简略介绍 RTTI 的一些背景知识、描述 RTTI 的概念,并通过具体例子和代码介绍什么时候使用以及如何使用 RTTI;本文还将详细描述两个重要的 RTTI 运算符的使用方法,它们是 typeid 和 dynamic_cast。 其实,RTTI 在C++中并不是什么新的东西,它早在十多年以前就已经出现了。但是大多数开发人员,包括许多高层次的C++程序员对它并不怎么熟悉,更不用说使用 RTT ...
FMD开发文集 -- MFC调试模式下new操作符的特殊处理作者:冯明德 一、在调试模式下,new操作符号通过宏定义转换成了调试版本。 在文件头经常可以发现以下语句: #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif 其中,将new定义为DEBUG_NEW二、DEBUG_NEW的处理调试版本的new操作函数:void* AFX_CDECL operator new(size_t nSize, LPCSTR lpszFileName, ...
FMD开发文集 -- MFC CObject浅析作者:冯明德 CObject是大部分的MFC类的基类 为了完成MFC类的判断、动态生成、序列化等特殊功能,CObject中添加了特定的处理。 为了进一步增强对MFC类对象的理解,在此对CObject源码及相关宏定义进行分析。 (所附代码并非原始代码,为说明问题而作了删减。) 主要介绍了以下几方面内容:1.CObject简要声明2.CRuntimeClass结构3.RUNTIME_CLASS4.DYNAMIC支持5.DYNCREATE支持6.SERIAL支持一.CObject简要声明 class CObject { public: ...
<html> <head> <mce:script type="text/javascript"><!-- //去掉右边的空格 function rtrim(str) { while (32 == str.charCodeAt(str.length - 1)) { str = str.substring(0, str.length - 1); } return str; } //去掉左边的空格 function ltrim(str) ...
C++中类的数据成员的安全隐患作者:周云才(江汉石油学院计算机科学系 邮编 4340023) 在任何一本关于"C++语言程序设计"的书中都有类似于如下的描述: 在一个类中,C++用三个关键词设置访问界限:public, private和protected。它们决定了跟在他们后面的标识符的被使用情况:public意味着其后的标识符可以被用户定义的其实例引用;而private则说明其后的标识符除了类的成员函数之外,用户定义的其实例不能引用;protected为类的继承提供了接口,同时保护其不被外界访问。 事实上也,如果要想利用类的一个对象(或实例)来访问其成员时确实如此 ...
// myspace.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> using namespace std; namespace A { string str = "hello, andylin!"; void fun1(int nVal) { cout << nVal << endl; } void fun2(string s ...
捕获数学函数异常作者: 江汉石油学院计算机系周云才 下载本文配套源代码假如我们要用一个数学函数,比如反正弦函数asin(x),如果变元x的值是由用户提供或某个中间结果,则在调用时必须判断其取值范围是合理,是否满|x|& ...
<html> <head> <SCRIPT LANGUAGE="JavaScript"> var RowMax = 42;//列数 var ColMax = 22;//行数 var PicMax = 26;//总图片数 var TimeMax = 60;//总时间 var OffSet = 32;//使用系统图标webdings(从asc2的32开始) var st;//倒计时 var TmpStr = & ...
MMX指令集在C++中的使用作者:孙原 下载本文示例源代码上次在《关于内联汇编的几个技巧》一文中只是简单地介绍了如何在C++中使用内联汇编,这一次先对上一次的文章作一补充,然后介绍如何使用MMX指令。一、 内联汇编的一般原则:1、 自由使用通用寄存器;(EAX,EBX,ECX和EDX)2、 其它寄存器利用堆栈保留,使用,最后恢复;一般的像下面这样: __asm{ push ebp push esp ……….//使用EBP和ESP pop esp pop ebp } 二、 内联汇编__asm可以单独使用:例如: __asm mov eax,anyval1 ...
关于内联汇编的几个技巧作者:孙原 下载本文示例代码有时我们的程序需要一些很高的执行效率或者执行系统底层的功能模块,这些关键的部分我们可以采用内联汇编直接插入汇编指令来达到我们的要求,以下是几个技巧与大家共同探讨.1. 内联汇编嵌入VC语句:在VC中内联汇编非常方便,只需要按照如下格式__asm{ //汇编语句 }请看如下示例代码 void CAlcmemDlg::OnButton3() { DWORD d=(m_size*1024*1024)/sizeof(DWORD); DWORD*p=(DWORD*)m_p; DWORD s; m_pr.SetMin( ...
// useacm.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <Windows.h> using namespace std; void UseAsm(); int _tmain(int argc, _TCHAR* argv[]) { UseAsm(); return 0; } void UseAsm() { int n = 0; in ...
const使用详解作者:康建东 关于C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,现将本人的一些体会总结如下,期望对大家有所帮助:一 const基础如果const关键字不涉及到指针,我们很好理解,下面是 ...
Global site tag (gtag.js) - Google Analytics