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";
 }

在您的情况下,两者都可以。