분류 | 게시판 |
베스트 |
|
유머 |
|
이야기 |
|
이슈 |
|
생활 |
|
취미 |
|
학술 |
|
방송연예 |
|
방송프로그램 |
|
디지털 |
|
스포츠 |
|
야구팀 |
|
게임1 |
|
게임2 |
|
기타 |
|
운영 |
|
임시게시판 |
|
// MyClass.h
class __declspec(dllexport) CMyClass
{
public:
int Func1(int a, int b);
void Func2(int *a);
};
// MyClass.cpp
int CMyClass::Func1(int a, int b)
{
return (a + b);
}
int CMyClass::Func2(int *a)
{
*a++;
}
// MyClassWrapper.h
#include "MyClass.h"
namespace Wrapper
{
public ref class CMyClassWrapper
{
private:
CMyClass *m_MyClass;
public:
CMyClassWrapper();
virtual ~CMyClassWrapper();
public:
int Func1(int a, int b);
void Func2(int %a);
};
}
// MyClassWrapper.cpp
namespace Wrapper
{
CMyClassWrapper::CMyClassWrapper()
{
m_MyClass = new CMyClass;
}
CMyClassWrapper::~CMyClassWrapper()
{
if(m_MyClass != 0)
delete m_MyClass;
}
int CMyClassWrapper::Func1(int a, int b)
{
return m_MyClass->Func1(a, b);
}
void CMyClassWrapper::Func2(int %a)
{
int temp;
m_MyClass->Func2(&temp);
a = temp;
}
}
using MyClassWrapper;
namespace TestProject
{
public class Test
{
CMyClassWrapper obj = new CMyClassWrapper();
private void foo()
{
int value = obj.Func1(10, 5);
// value == 15
obj.Func2(ref value);
// value == 16
}
}
}
죄송합니다. 댓글 작성은 회원만 가능합니다.