c++.net 托管类封装非托管类

简介:

C++.net中非托管的代码虽然在托管里面可以直接使用,但是有时候却会被限制。比如当需要用托管里面的 ArrayList 存储一个非托管的对象的时候就需要用一个托管的类把这个非托管的类封装一下,其他的封装的原因我也没想到,刚开始接触c++.net,基本是需要什么学什么,我是这个原因才去封装的。

 

比如一个非托管的类如下


class serverInfo

{

public:

    serverInfo();

    ~serverInfo();

    string CSTR_DBIPADDRESS; //数据库ip地址

    

};

然后对其进行封装


ref class serverInfoManaged

{

public:

    serverInfoManaged():m_sc(new serverInfo()){}

    ~serverInfoManaged()

    {

        delete m_sc;

    }

 

    String^ GetDBIP()

    {

        return (gcnew String(m_sc->CSTR_DBIPADDRESS.c_str()));

    }

    void SetDBIP(String^ DBIP)

    {

        m_sc->CSTR_DBIPADDRESS = convertStringtoStr(DBIP);

}

private:

    !serverInfoManaged()

    {

        delete m_sc;

    }

 

private:

 

    serverInfo* m_sc;

};

然后就可以直接使用了

比如在Arraylist添加server对象


ArrayList^ AddServers()

{

 ArrayList^ al = gcnew ArrayList();

 For (int i = 0; i<5; i++)

 {

             serverInfoManaged^ sc = gcnew serverInfoManaged();

 sc->SetDBIP("127.0.0.1");

 al->Add(sc);

 }

 return al;

 }


目录
相关文章
|
3月前
|
缓存 网络协议 Linux
c++实战篇(三) ——对socket通讯服务端与客户端的封装
c++实战篇(三) ——对socket通讯服务端与客户端的封装
|
8天前
|
数据安全/隐私保护 C语言 C++
C++(七)封装
本文档详细介绍了C++封装的概念及其应用。封装通过权限控制对外提供接口并隐藏内部数据,增强代码的安全性和可维护性。文档首先解释了`class`中的权限修饰符(`public`、`private`、`protected`)的作用,并通过示例展示了如何使用封装实现栈结构。接着介绍了构造器和析构器的使用方法,包括初始化列表的引入以及它们在内存管理和对象生命周期中的重要性。最后,通过分文件编程的方式展示了如何将类定义和实现分离,提高代码的模块化和复用性。
|
11天前
|
存储 算法 Java
深入理解.NET中的托管堆及其工作原理
【8月更文挑战第31天】
19 1
|
27天前
|
缓存 程序员
封装一个给 .NET Framework 用的内存缓存帮助类
封装一个给 .NET Framework 用的内存缓存帮助类
|
2月前
|
C++ 容器
【C++】map和set封装
【C++】map和set封装
25 2
|
2月前
|
存储 开发框架 Java
|
3月前
|
存储 Java C#
C++语言模板类对原生指针的封装与模拟
C++|智能指针的智能性和指针性:模板类对原生指针的封装与模拟
|
3月前
|
数据安全/隐私保护 C++
C++语言深入理解类的封装与数据隐藏
深入理解类的封装与数据隐藏
|
2月前
|
存储 C++ 容器
【C++】开散列实现unordered_map与unordered_set的封装
【C++】开散列实现unordered_map与unordered_set的封装
34 0
|
3月前
|
C++
【c++】map和set的封装
【c++】map和set的封装
26 0

热门文章

最新文章