在方法之外引用特定的 parameter-object
Referring to a specific parameter-object outside of a method
基本上我需要从 object 访问变量,它作为方法内部的参数传递。
我将给出一些伪代码而不是我现在正在使用的真实代码,作为其他用户的 easier-to-understand 示例。
public class AClass{
Object x = null;
private void doSomething(){
method("something", new RandomClass());
x = *the object of new RandomClass()*
}
}
如果有需要我会更改标签和标题post具体示例,但我认为这是一个多语言问题。
考虑了几分钟后,我想出了解决这个特定问题的方法。
public class AClass{
Object x = null;
private void doSomething(){
Object y = new RandomClass();
method("something", y);
x = y;
}
}
有些语言允许我们通过引用传递来使用它们。有些人没有。因此,首先你应该知道你使用的语言是否有这种选项。例如,C++ 允许我们通过引用传递来使用它。在 C++ 中,有指针和引用。我们可以这样使用它:
int main()
{
Object r ;
Object k ;
r.data=1;
k.data=2;
cout<<r.data<<" "<<k.data<<endl;
method(r,k);
cout<<r.data<<" "<<k.data<<endl;
return 0;
}
void method(Object & x, Object & y){ // pass-by-reference
x.data=4;
y.data=5;
}
输出将是:
1 2
4 5
同样重要的是,您要访问的对象的变量是私有的,或者 public.If 它不是友元函数或不是 class 内部的函数,您无法访问那个变量。
希望对你有帮助。
基本上我需要从 object 访问变量,它作为方法内部的参数传递。 我将给出一些伪代码而不是我现在正在使用的真实代码,作为其他用户的 easier-to-understand 示例。
public class AClass{
Object x = null;
private void doSomething(){
method("something", new RandomClass());
x = *the object of new RandomClass()*
}
}
如果有需要我会更改标签和标题post具体示例,但我认为这是一个多语言问题。
考虑了几分钟后,我想出了解决这个特定问题的方法。
public class AClass{
Object x = null;
private void doSomething(){
Object y = new RandomClass();
method("something", y);
x = y;
}
}
有些语言允许我们通过引用传递来使用它们。有些人没有。因此,首先你应该知道你使用的语言是否有这种选项。例如,C++ 允许我们通过引用传递来使用它。在 C++ 中,有指针和引用。我们可以这样使用它:
int main()
{
Object r ;
Object k ;
r.data=1;
k.data=2;
cout<<r.data<<" "<<k.data<<endl;
method(r,k);
cout<<r.data<<" "<<k.data<<endl;
return 0;
}
void method(Object & x, Object & y){ // pass-by-reference
x.data=4;
y.data=5;
}
输出将是:
1 2
4 5
同样重要的是,您要访问的对象的变量是私有的,或者 public.If 它不是友元函数或不是 class 内部的函数,您无法访问那个变量。 希望对你有帮助。