c++ 2 ref类应该可以访问另一个类的一个相同对象

标签 c++ windows reference system command-line-interface

我有 2 个类(class),比如说 a 类和 b 类。甚至是三级 c。

a 类和 b 类应该可以访问 c 类的同一对象的功能。我想有一个成员喜欢引用。所以类 a 和 b 的构造函数中的参数将是对象或类似的东西。

因为我是 CLI 语法的新手,所以我有点混淆数据类型引用类。


所以一个没有 CLI 和类的普通示例会喜欢这样。

        int c = 5; 
        int &a = c; 
        int &b  = c;

因此,每当我更改 a 或 b 的值时,它都会更改 c 的值。

我的母语不是英语,所以请保持友好:3。

最佳答案

如果你的c类是一个ref类,你可以使用^(handle)来引用它。

喜欢这里的代码

 ref_class_c ^ d(gcnew ref_class_c);

 ref_class ^ e = d;

至于跟踪引用与句柄,区别类似于 C# 方法中的引用/输出参数与变量名。

例如,自己试试下面的代码

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

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

关于c++ 2 ref类应该可以访问另一个类的一个相同对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30918826/

相关文章:

在 for 循环中创建的组合框中的 python tkinter 引用

c++ - 通过值而不是键访问 QMap 元素

c - cmake 中 gcc 的 -mwindows 选项的等效项是什么?

c++ - 如何使用 std::thread?

c++ - 在 C++ 中创建一个指向另一个元素的 vector

windows - 使用 FFmpeg Video Conversor 为 Windows 构建 CLI 批处理

c++ - 如何将 boost::shared_ptr<> 变成引用 (&)?

Perl Hash 引用

c++ - "old"C 特性可能比新的 C++ 特性更好的情况?

c++ - 获取文件内容并将其放入 C++ 中的字符串中