COM简单应用示例

使用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;

}

 

你可能感兴趣的:(com)