VC++在结构体中加入CArray类型,CMap
来源:互联网 发布:好看的漫画推荐 知乎 编辑:程序博客网 时间:2024/06/05 20:20
定义结构体(必须以类的方式,添加构造函数)
//数据类型信息struct TableField{ int source;//表示该字段的来源,0表示其他表(如SystemDevice),1表示本表(如SeaWave) CString tableName; CString field; CString alias;}; struct DataTypeInfo{CString Table;//表名CString TableAlias;//表别名CString DeviceIDField;//设备表的DeviceID字段对应表的字段,(潮位和生态浮标两个表不一致)CString TimeField;CArray<TableField,TableField> FieldAlis;//这里不能添加,放在CMap中会出错???//CArray这个类没有提供拷贝函数,需要将DataTypeInfo定义成类,并完成相应的赋值与拷贝操作//默认构造函数不能少DataTypeInfo(){}//第二个构造函数DataTypeInfo(const DataTypeInfo& ca){for(int i=0;i<ca.FieldAlis.GetSize();++i)FieldAlis.Add(ca.FieldAlis.GetAt(i));}DataTypeInfo& operator=(const DataTypeInfo& ca){if(&ca==this)return *this;Table=ca.Table;TableAlias=ca.TableAlias;DeviceIDField=ca.DeviceIDField;TimeField=ca.TimeField;FieldAlis.RemoveAll();for(int i=0;i<ca.FieldAlis.GetSize();++i)FieldAlis.Add(ca.FieldAlis.GetAt(i));return *this;}};
定义一个CMap引用定义的结构体
protected://采用CArray和Struct方式CMap<CString,LPCTSTR,DataTypeInfo,DataTypeInfo&> dataTypeInfo;//数据类型,表名,别名,对应的字段。第四个参数以&的方式,传地址添加数据
TableField tableField;//////////////////////////////////////////////////////////////////////////// 潮位DataTypeInfo sttInfoTide;//主要这个不可共用,因此安装地址传递的sttInfoTide.Table="DataReceive";sttInfoTide.TableAlias="潮位";sttInfoTide.DeviceIDField="PhoneNo";sttInfoTide.TimeField="DT";//来源-设备表tableField.source=0;tableField.tableName="SystemDevice";tableField.field="DeviceID";tableField.alias="设备ID";fieldAliasTide.Add(tableField);sttInfoTide.FieldAlis.Add(tableField);tableField.field="Location";tableField.alias="安装位置";fieldAliasTide.Add(tableField);sttInfoTide.FieldAlis.Add(tableField);。。。。。。。。。。 //添加到CMap中 dataTypeInfo.SetAt("TIDE",sttInfoTide);//测试,引出 DataTypeInfo tt; dataTypeInfo.Lookup("TIDE",tt);---------
- VC++在结构体中加入CArray类型,CMap
- VC++中CMAP用法
- VC++中CMAP用法
- CArray, CList, CMap
- CArray,CMap,CList详解
- CArray和CMap使用
- VC++中CMAP的使用
- VC++中CMAP的使用
- 关于VC++中CMAP用法
- VC++中CMAP的使用
- CArray,CMap,CList 速度比较
- 十:CArray,CMap,CList详解
- CArray,CMap,CList 速度比较
- CArray,CMap,CList 速度比较
- CMap-结构体键值使用
- VC CArray
- CArray,CList,CMap如何实化
- VC++ 中CMap的简介和简单实例!
- html URL编码
- LeetCode - Binary Tree Level Order Traversal
- Gulliver's Travels——4、Gulliver escapes from Lilliput
- 图像处理基础(像素、RGB、YUV etc.)的那点小事
- 在C/C++中,指针和数组的区别
- VC++在结构体中加入CArray类型,CMap
- IO多路复用详解
- 复选框全选/全不选
- 玩转Linux打包指令——tar
- 我的.bash_profile
- 用js获取radio选中的值
- UVAlive 2322 (13.08.23)
- UVA839 - Not so Mobile
- hdu 畅通工程