2016-10-17 44 views
-3

我试图让我的客户端,它是A类调用serverstub类,这是B.C++试图调用另一个对象

里面的方法内的对象方法的客户端类应采取主机地址输入 我不能使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); 
} 
+1

使'objB'成员变量。 – songyuanyao

回答

2

你只需要做出objB A类的成员变量,那么你就可以将其初始化时objA是consturcted,如下

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

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

然后,你可以从以后调用任何方法ObjB ObjA。

相关问题