c++ 2 ref classes 应该可以访问另一个 class 的同一个对象
c++ 2 ref classes should have acess to one same object of a other class
我有 2 classes 让我们说 class a 和 b。甚至三分之一 class c.
class a 和 b 应该可以访问 class c 的同一对象的函数。我想有一个成员喜欢参考。所以 class a 和 b 的构造函数中的参数将是对象或类似的东西。
因为我是 CLI 语法的新手,我有点混淆数据类型引用 class。
所以一个没有 CLI 和 classes 的普通例子会喜欢这样。
int c = 5;
int &a = c;
int &b = c;
因此,每当我更改 a 或 b 的值时,它都会更改 c 的值。
我的母语不是英语,所以请保持友好:3.
如果你的 c
的 class 是引用 class,你可以使用 ^
(句柄)来引用它。
喜欢这里的代码
ref_class_c ^ d(gcnew ref_class_c);
ref_class ^ e = d;
至于跟踪引用与句柄,区别类似于 C# 方法中的 reference/out 参数与变量名。
例如,自己试试下面的代码
void test1(String^ s) {
s = gcnew String("no change");
}
void test2(String^% s) {
s = gcnew String("change");
}
当你调用这两个函数时,你会注意到不同之处。
void test3(String^ s) {
s = "new string 1";
}
void test4(String^% s) {
s = "new string 2";
}
在您的情况下,两者都可以。
我有 2 classes 让我们说 class a 和 b。甚至三分之一 class c.
class a 和 b 应该可以访问 class c 的同一对象的函数。我想有一个成员喜欢参考。所以 class a 和 b 的构造函数中的参数将是对象或类似的东西。
因为我是 CLI 语法的新手,我有点混淆数据类型引用 class。
所以一个没有 CLI 和 classes 的普通例子会喜欢这样。
int c = 5;
int &a = c;
int &b = c;
因此,每当我更改 a 或 b 的值时,它都会更改 c 的值。
我的母语不是英语,所以请保持友好:3.
如果你的 c
的 class 是引用 class,你可以使用 ^
(句柄)来引用它。
喜欢这里的代码
ref_class_c ^ d(gcnew ref_class_c);
ref_class ^ e = d;
至于跟踪引用与句柄,区别类似于 C# 方法中的 reference/out 参数与变量名。
例如,自己试试下面的代码
void test1(String^ s) {
s = gcnew String("no change");
}
void test2(String^% s) {
s = gcnew String("change");
}
当你调用这两个函数时,你会注意到不同之处。
void test3(String^ s) {
s = "new string 1";
}
void test4(String^% s) {
s = "new string 2";
}
在您的情况下,两者都可以。