摘要: 自己在写动态数组的时候遇到的问题。首先代码如下:// CMyArray.h: interface for the CMyArray class.////////////////////////////////////////////////////////////////////////#if !defined(AFX_CMYARRAY_H__C38AE5B7_BD54_4FBB_A839_7188271EAD03__INCLUDED_)#define AFX_CMYARRAY_H__C38AE5B7_BD54_4FBB_A839_7188271EAD03__INCLUDED_#if _MSC 阅读全文
posted @ 2013-05-23 00:48 0x苦行僧 阅读(158) 评论(0) 推荐(0)
摘要: 今天在写迭代器的时候,准备做模版,于是把实现从声明类中提出来。写到声明的下面。类似于这样。Ca.Hclass A{public: A();}A::A(){}准备把迭代器的构造函数和重载的运算符函数都提出来,结果发现报错。同样的代码。在VC6.0中和2005结果就不一样。#include <iostream>using std::cout;using std::endl;template <typename T1>class A{public: class B { public: B(); };public: A();};template <typename T1& 阅读全文
posted @ 2013-05-22 23:49 0x苦行僧 阅读(202) 评论(0) 推荐(0)
摘要: 大家觉得选择排序和冒泡排序?哪种效率和速度好些呢?其实要看场合,也就是看数据的储存环境。一般数据是随机分散储存的,可以优先使用选择法。如果数据是连续存储的,优先使用冒泡法。冒泡排序:void main(){ int szData[] = {3, 2, 1, 4, 5, 2, 11, 7, 33, 6, 9}; int iCount = sizeof(szData)/sizeof(szData[0]); for (int i = 0; i < iCount; i++) for(int j = 0; j < iCount-1; j++ ) { if (szData[j]... 阅读全文
posted @ 2013-05-22 00:18 0x苦行僧 阅读(230) 评论(0) 推荐(0)
摘要: 函数功能:该函数检索指定坐标点的像素的RGB颜色值。函数原型:;COLORREF GetPixel(HDC hdc, int nXPos, int nYPos)SetPixel 阅读全文
posted @ 2013-05-20 00:33 0x苦行僧 阅读(151) 评论(0) 推荐(0)
摘要: 基类如下:class base {public: base(); virtual ~base(); void Add(const char* pId, const char* pName); const char* GetId() const; // 加inline const char* GetName() const; // 加inlineprivate: char m_szID[32]; char m_szName[32];};派生类如下:#include "base.h"class course :public base{public: course... 阅读全文
posted @ 2013-05-14 23:16 0x苦行僧 阅读(156) 评论(0) 推荐(0)
摘要: // 声明:以下代码均在Win32_Sp3 VC6.0_DEBUG版中调试通过..在逆向还原代码的时候,必须得掌握了菱形继承,多继承,虚继承虚函数的内存虚表结构。所以,这篇文章献给正在学习C++的朋友们。当然,由于水平有限,必定错漏百出!所以,希望耽误您的时间,恳求您的指点。在这里万分感谢!首先,我们定义如下类:class A{public: A() { m_nData = 1; } virtual void fun() { } int m_nData;};class B{public: B() { m_nData = 2; } virtual void f... 阅读全文
posted @ 2013-05-07 23:49 0x苦行僧 阅读(3273) 评论(1) 推荐(1)
摘要: // CMyString.h: interface for the CMyString class.////////////////////////////////////////////////////////////////////////#if !defined(AFX_CMYSTRING_H__FECC10BF_AB85_41AB_B3F3_7A16FA65D4AF__INCLUDED_)#define AFX_CMYSTRING_H__FECC10BF_AB85_41AB_B3F3_7A16FA65D4AF__INCLUDED_#if _MSC_VER > 1000#pragm 阅读全文
posted @ 2013-05-05 21:34 0x苦行僧 阅读(229) 评论(0) 推荐(0)
摘要: C++的多态性体现在两个方面,一个函数重载,一个虚函数,重载的多态性是在编译器编译期的时候早已经决定了。编译器实现函数重载的时候,也就是进行了名称粉碎。而虚函数则是运行期的多态。多态有什么用? 可能你会有此疑惑。最普遍的说法是“提高代码的重用性”。如果大家对逆向感兴趣的话,虚函数的内存结构那是必须得掌握的,下面我们来慢慢剖析类中虚函数的内存结构。class Ca{public: Ca() { } virtual ~Ca() { } virtual void Fun1() { } virtual void Fun2() { } void Fun3() { }};cl... 阅读全文
posted @ 2013-05-05 19:13 0x苦行僧 阅读(2064) 评论(1) 推荐(1)
摘要: 在Visual C++ 中,可以在监视窗口添加 $err,hr 一行来实时显示错误。调试过程中,该项相当于在每次调用API函数之后调用GetLastError函数。其值由两部分组成,一个是错误代码(十六进制),另一个是错误代码所对应的文本提示。该方法支持多语言。[1] 阅读全文
posted @ 2013-04-23 22:06 0x苦行僧 阅读(148) 评论(0) 推荐(0)
摘要: 身价决定选择,努力提高身价! 阅读全文
posted @ 2013-04-23 19:30 0x苦行僧 阅读(144) 评论(0) 推荐(0)