C++/CLI 托管C++之类、属性封装【7】
来源:互联网 发布:c语言失去函数头 编辑:程序博客网 时间:2024/06/06 03:36
CLI封装类时,涉及确定性析构与非确定性析构,属性封装使用property。
【1】C++导出类
class EXPORTDLL_CLASS CAddSub{public: CAddSub(){ m_len = 0; } ~CAddSub(){ }public: int Add(int x, int y){ return x+y; } int Sub(int x, int y){ return x-y; } int GetLength() { return(m_len); } void SetLength(int len){ m_len = len; }private: int m_len;};
【2】CLI类封装
/// <summary> /// 4 类测试 /// </summary> public ref class AddSubCls { public: AddSubCls() { m_pCls = new CAddSub(); } !AddSubCls() //确定性释放 { delete m_pCls; } ~AddSubCls() //非确定性释放 { this->!AddSubCls(); } public: Int32 Add(Int32 x, Int32 y) { return(m_pCls->Add(x, y)); } Int32 Sub(Int32 x, Int32 y) { return(m_pCls->Sub(x, y)); } property Int32 Length { Int32 get() { return(m_pCls->GetLength()); } void set(Int32 len) { m_pCls->SetLength(len); } } private: CAddSub *m_pCls; };
C#测试函数:
AddSubCls addSubCls = new AddSubCls();int sum = addSubCls.Add(1, 4);addSubCls.Length = 6;
0 0
- C++/CLI 托管C++之类、属性封装【7】
- C++/CLI托管
- C++/CLI 托管C++之字符串封装【5】
- C++/CLI 托管C++之enum枚举封装【6】
- C++/CLI 托管C++之结构体封装【8】
- C++/CLI 托管C++之联合体union封装【10】
- 托管C++、C++/CLI、CLR
- C++/CLI 托管C++之结构体封装(内存对齐#pragma pack)【9】
- C++/CLI与非托管并列缓存
- C++/CLI 托管C++的托管与非托管字符串的相互转换【1】
- C++/CLI思辨录之传递托管堆地址
- 有关.NET框架、托管、C++/CLI、CLR等等
- C++/CLI学习笔记1—新的托管类型
- C++/CLI 托管C++的数据类型介绍【2】
- C++/CLI 托管C++的基本数据类型及函数【3】
- C++/CLI 托管C++的数组介绍【4】
- C++/CLI 托管C++之导出注释【11】
- C++/CLI学习笔记1—新的托管类型
- 总结数据挖掘预测分类中的样本筛选和特征处理
- UML笔记
- juce动画演示代码阅读
- 计划开工会积极风格化
- Firefox 实用插件
- C++/CLI 托管C++之类、属性封装【7】
- CSS框模型——一切皆为框,从行框说起
- 百度定位 Android 经纬度出现4.9E-324 问题解决
- 微软百度实习面经
- BZOJ 2822 AHOI 2012 树屋阶梯 卡特兰数+高精度
- linux网络编程之TCP/IP基础(一):TCP/IP协议栈与数据报封装
- c#入门系列——基础篇
- linux网络编程之TCP/IP基础(二):利用ARP和ICMP协议解释ping命令
- linux网络编程之TCP/IP基础(三):IP数据报格式和IP地址路由