나는 모든 멤버 함수를 가진 추상 클래스를 가진 dll을 순수 가상 함수로 가진다. 이러한 함수를 호출하는 응용 프로그램을 작성하려고합니다. 이러한 순수 가상 함수를 호출하기 위해 취해야 할 단계는 무엇입니까?exe 응용 프로그램에서 dll의 순수 가상 함수를 호출하는 방법은 무엇입니까?
이 추상 클래스와
헤더 파일은 단지 프로토 타입을 수 있습니다 : interface.h DLL에서
class MathFuncExport {
public:
virtual int Add(int a, int b)=0;
MathFuncExport(){};
virtual ~MathFuncExport(){};
};
헤더 파일 [이 내 보낸 함수이다] : MathFuncDll.h
#include "intf.h"
class MyMathFuncs : public MathFuncExport
{
public:
MyMathFuncs(){};
virtual ~MyMathFuncs(){};
virtual int Add(int a, int b);
};
구현 : MyMathFunsDll.Cpp 파일
#include "MathFuncDll.h"
int MyMathFuncs::Add(int a, int b)
{
return a + b;
}
이것은 dll을 만들었지 만 추상 클래스에서 함수를 호출 할 수 없거나 여기에 링크가 누락되었습니다. 이 문제를 해결할 때 도와주세요.
감사합니다.
두 클래스 모두에 __declspec (dllexport) 특성을 적용하여 내보낼 수 있습니다. 구체적인 클래스를 숨기려면 클래스 팩토리가 필요합니다. –