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