我想公开 CMainClass 对象的 ATL COM 集合,以便 C#、VB 或 C++ 客户端可以访问它。
我设置集合本身没有问题,但我不知道如何允许 COM 客户端访问 A、B 和 C 类。我是否应该使用包含的对象制作 A、B 和 C COM 对象一个 std::list<> 每个 ATL 集合本身对吗?
有没有更简单的方法来做到这一点?!?!
谢谢,保罗
class C
{
public:
// get/set functions...
protected:
std::string str1_;
std::list< std::string > list1_;
};
class A
{
public:
// get/set functions...
protected:
std::list< C > list1_;
};
class B
{
public:
// get/set functions...
protected:
std::string str1_;
std::string str2_;
};
class CMainClass
{
public:
void GetA( A* a ) const;
void SetA( const A& a );
void GetB( B* b ) const;
void SetB( const B& b );
protected:
A a_;
B b_;
};