gpt4 book ai didi

c++ - 类之间如何交换数据?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:36:53 24 4
gpt4 key购买 nike

我正在学习 C++ 并将我的项目从 C 迁移到 C++。在这个过程中,我偶然发现了这个问题:如何保存/更新几个类中正在使用的变量?在 C 中我使用了全局变量,但它对 C++ 不利。

那么,假设我们有 4 个类:

class Main_Window
{
//...
void load_data_menu_selected();
}

class Data
{
//...
double *data;
}

class Load_Data
{
//...
double *get_filename_and_load();
}

class Calculate
{
//...
int do_calculation()
}

因此,Main_Window 是应用程序主窗口的类,它与用户输入等进行交互。
我想要做:

  • 在 Main_Window 中创建类 Data 的实例
  • 使用 Load_Data 从文件中加载数据并将其存储在数据中
  • 使用 Calculation 类对 Data 类中的读取数据进行处理
  • 问题是:我应该在哪里创建类,以使 Data 类成员可从其他类使用。我应该使用继承吗?

    最佳答案

    从观察两个类的实例之间可能存在的关系开始。假设 a 是类 A 的实例,b 是类 B 的实例。如果 a 使用 b,A 类可以有 B 类 (b) 的成员实例,指向 b 的指针(类型为 B*),或 b 的引用(属于 B& 类型)。如果 A 类中只有一种方法使用了 b,那么您又将有相同的三个选项:BB*B&> 可以是方法的参数。将 B*B& 作为类成员表明 a 不控制 b 的生命周期,因此类 A 必须有一个通过其参数设置这些成员的方法。所有权问题(对象的生命周期)在类间关系的设计中起着重要作用。主要关系简述in this article .

    关于c++ - 类之间如何交换数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4488718/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com