自己定义的一个类,及其对象
class CMyClass1
{
public
  int m_nA;
  double m_dB;
  CString m_strC;
  void Fuction1();
}MyObject1;
作为同一个程序,我可以作为参数互相传递,
可是我想传递到另外的程序,另外的机器上的.

解决方案 »

  1.   

    TCP/IP只管传数据包,包里的内容可不管
      

  2.   

    MyObject1 obj;send(sockRecv,(char*)&obj,sizeof(MyObject1 obj;),0);
    recv(sockClient,(char*)&obj,sizeof(MyObject1 obj;),0);
      

  3.   

    to howtotell(touch), 呵呵,函数你怎么传阿?sizeof(MyObject)仅仅是数据成员以及内存aliment得结果阿!
      

  4.   

    如果你想调用远程的方法。
    用DCOM吧
      

  5.   

    To: ahxu2003(顽小鱼) 
    我的想法也是这个样子,
    比方,我在同个程序里,我要传递参数
    我只需将其作函数的参数,就可以把类传递到函数
    可是TCP/IP收到的是一个缓冲区,其长度一般是固定的,
    如果我传递简单的数据,可以sizeof()
    可是类呢?
      

  6.   

    我的意思是为什么要传整个类的对象呢?
    你可以在主\从分别建二个同一个类的不同对象,传的时候你只传类中有用的成员变量或成员函数所用的参数过去.
    比如从客方只传YourObject.m_nA过去,然后相应的给主机方那个对象的相应成员变量赋这个值.这不就相当于在主方做了一个客方这个对象的一个复本了吗?
      

  7.   

    class 跟  struct 是一樣的。 當然可以傳了另一端只要有這個class的定義就OK了。 成員函數不用考慮,因為函數體在另一端已經有了。
      

  8.   

    楼上:
    应该是,在c++中,struct和class一回事,不是反过来,这有区别的。呵呵,要传类的话,把源代码传过去就可以了。:)
    应该是传对象,或类的实例。
    这样跨进程的传输必须非常小心,你必须把实例中通过指针引用的任何东西一起传过去,无论直接的,还是间接的。
    搂主不是想自己搞一套rpc吧!用rpc吧。
      

  9.   

    为什么要这样处理,想传对象不如使用DCOM,否则就传结果。
      

  10.   

    请推荐dcom入门的电子书籍,请给网址,谢谢什么是rpc?谢谢
      

  11.   

    有办法啊,你在类里订一个以serical方法,专门打包和释放类成员变量,然后把打包的结果发送就可以了
      

  12.   

    跟西门开个玩笑.不要介意
    其实,我应该传递数据过去,就行了,
    就像,我们把一个类的对象传递到函数里,其实传递的是对象的成员数据,而不一定包含成员函数,这个是好像有个拷贝构造函数的概念在这里
    c++的基础教材,讲引用时候提到.
    CMyClass01
    {
    public
     m_nA;
     int function1(int);
    }int GlobleFunction(CMyClass01 myObject);//error
    在类的定义里没有定义拷贝构造函数,在编译GlobleFunction时候会出错.CMyClass01
    {
    public
     const CMyClass01& operator=(const CMyClass01& aMyClass01Object);//拷贝构造函数
     m_nA;
     int function1(int);
    }
    const CMyClass01& operator=(const CMyClass01& aMyClass01Object);
    {
     this->m_nA=aMyClass01Object.m_nA;
     return this;
    }
    我应该传递数据过去就行了,只不过,我需要另外写个结构体,而且,结构体中只用基本的数据类型.
    我的说法对吗,欢迎讨论
      

  13.   

    TO楼上的兄弟,C++中如果没有自定义Copy Constructor,C++会提供一DEFAULT
    Copy Constructor,只是存在着深COPY与浅COPY的问题,一般情况下,如果你的类需要一个Deconstructor,那么你也需要为它自定义一个Copy Constructor
    还有啊,Copy Constructor的声明一般应该是:
    ClassName(ClassName &oldObject);你上面声明的只是赋值运算的重载
    TO howtotell(touch):类的实例只包括它的数据成员,所以SIZEOF()这种形式行不通