CArray 实现二维数组
在MFC中,如何既利用CArray的操作便利性,又同样实现二维数组的功能呢?下面介绍一下如何实现。
struct MapTile
{
CString fileName;
int tileX;
int tileY;
HBITMAP bitMap;
};
struct MapTileArray
{
CArray<MapTile, MapTile&> mapTileX;
const MapTileArray& operator=(const MapTileArray& rhs)
{
if(this != &rhs)
{
mapTileX.RemoveAll();
mapTileX.Append(rhs.mapTileX);
mapTileX.FreeExtra();
}
return *this;
}
};
实现二维数组,必须要实现MapTileArray的 = 操作符方法。
否则就会出现下面的错误。
error C2248: 'CObject::operator =' : cannot access private member declared in class 'CObject'
下面为使用时候的代码:
typedef CArray<MapTileArray,MapTileArray&> CMapTileYArray;
static CMapTileYArray mapTilesYArray;
分享到:
相关推荐
CArray类支持与CArray相似的数组,但是必要时可以动态压缩并扩展。数组索引从0开始。可以决定是固定数组上界还是允许当添加元素时扩展当前的边界。内存对上界是连续地分配空间,甚至一些元素可为空。和CArray一样,...
MFC中的数组类CArray的使用详细解析 写的很具体 条理清晰 很赞的总结帖子
MFC数组类CArray的使用的操作详解,
神农远程webservice
CArray模板类的应用举例 涵盖了大部分的CArray模板类的函数; CArray模板类的应用举例 涵盖了大部分的CArray模板类的函数;
深入分析MFC中的CArray类 深入分析MFC中的CArray类
定义MFC数组类CArray,在一个对话框的编辑框中输入数据按确定后在另一个对话框的列表控件中显示
CArray,Clist全部有关数组、列表、映射类,即CArray,Clist,CMap三个序列的所有类
深入分析MFC中的CArray类
VC 数组类 CArray.add CArray.setat
主要介绍了C语言中数组作为函数的参数以及返回值的使用简单入门,这里以一维数组作为基本条件进行例子讲解,需要的朋友可以参考下
C++编程方面的资料,希望对大家有用; 彻底共享,决不要分!
该类可以实现比比VC自带的数组类CArray还快的数组类,因为该类使用了内存预分配方式,有效减少系统对内在的存取
利用CArray实现的循环队列 附件为源码和DEMO #pragma once template class CCircleQueue { public: CCircleQueue(int nSize); CCircleQueue(const CCircleQueue& circleQueue); virtual ~CCircleQueue(void); ...
2)使用VARIANT数组类似于CArray、vector,也类似与Vb中的动态数组;3)支持CArray、vector与VARIANT的转换(1~4维)。代码适用于VC2012及以上的Windows程序。 使用方法见代码中的CSgxVariant::Test()函数。
我们应该注意到,没有一个受过伦理教育的软件工程师会同意开发出“摧毁巴格达”的程序。然而基本的职业道德却可以要求他们开发出“摧毁城市”的程序,巴格达只是这个程序的一个参数。
一个MFC中CUIntArray/CArray类的简单的应用实例代码。
CArray的排序小实例,代码比较简单,但是比较有参考价值!
刚写的用MFC的Carray加入自定义类用的例子.在网上找了很久没找到一个例子,自己写了一个.