使用com技术开发模式进行的示例。
com技术关键部分源码:主要将所有接口都写入到这个文件中
testinterface.h
#ifndef TESTINTERFACE_H #define TESTINTERFACE_H #include <ComDef.h> //using namespace std; interface __declspec(uuid("d7a00288-18c9-4af2-bf95-c9755a4b587b")) TestInterface { STDMETHOD_ (int, Add)(int a, int b) PURE; STDMETHOD (PrintfValue)(int v) PURE; }; #endif //TESTINTERFACE_H
test.h
#ifndef TEST_H #define TEST_H #include "TestInterface.h" class TestClassImpl : public TestInterface { public: STDMETHOD_ (int, Add)(int a, int b); STDMETHOD (PrintfValue)(int v); }; #endif //TEST_H
test.cpp
#include "Test.h" #include <iostream> using namespace std; STDMETHODIMP_(int) TestClassImpl::Add(int a, int b) { return a+b; } STDMETHODIMP TestClassImpl::PrintfValue(int v) { cout << "result = " << v << endl; return S_OK; }
main.cpp(主要进行以上接口实现测试)
#include <iostream> #include "TestInterface.h" #include "Test.h" using namespace std; void main() { TestClassImpl obj; int result = obj.Add(34, 56); obj.PrintfValue(result); cout << endl; }