C++ C++;试图在另一个对象内调用对象方法

C++ C++;试图在另一个对象内调用对象方法,c++,C++,我试图让我的客户机(A类)调用serverstub类(B类)中的方法 客户端类应将主机地址作为输入 我不能使objB成为全局变量,因为它需要创建输入。 所以现在当我试图编译它时,只需说它没有在范围内声明 class A { public: A(string host){ B objB(host); } void amethod(int) { objB.bmethod(); // here } }; cla

我试图让我的客户机(A类)调用serverstub类(B类)中的方法

客户端类应将主机地址作为输入 我不能使objB成为全局变量,因为它需要创建输入。 所以现在当我试图编译它时,只需说它没有在范围内声明

class A {
   public:
      A(string host){
        B objB(host);
      }
      void amethod(int) {
         objB.bmethod(); // here 
      }
};

class B {
   public:
      B(string host)
      void bmethod(void) {}
};

main(int argc, char*argv[]) {
  string host;

  if(argc>1){
    host = string(argv[1]);
  } else{
    host = "http://127.0.0.1:8080";
  }

  A objA(host);
}

您只需要将objB设置为类a的成员变量,然后在构造objA时可以对其进行初始化,如下所示

class A
{
private:
   B objB;
public:
   A(string host);
};

A::A(string host): objB(host) {}

然后,您可以稍后从ObjA调用ObjB中的任何方法。

Make
ObjB
成员变量。