C++ C++;-从不同的类中获取不同类中的变量集

C++ C++;-从不同的类中获取不同类中的变量集,c++,C++,我有三节课。在classa.cpp中,我有一个intI和一个函数来设置和获取intI int i = 0 void setI(int number) { i = number; } int getI() { return i; } 在课程b中,我将I设置为某个值 A aObject aObject.setI(5); 现在,如果我在屏幕上打印I的值,我会得到我设置的值 但是,在类c中,我想使用与类b中相同的方法打印该值 A aObject cout << aObj

我有三节课。在class
a.cpp
中,我有一个int
I
和一个函数来设置和获取int
I

int i = 0
void setI(int number)
{
    i = number;
}
int getI()
{
     return i;
}
在课程
b
中,我将
I
设置为某个值

A aObject
aObject.setI(5);
现在,如果我在屏幕上打印
I
的值,我会得到我设置的值

但是,在类
c
中,我想使用与类
b
中相同的方法打印该值

A aObject
cout << aObject.getI();
A对象

cout您有不同的对象,它们的字段是存储在不同位置的不同实体。你设定一个,然后读另一个。您可能希望全局定义一个对象(或者在其他地方,从两个类都可以看到它)。或者,如果您仍然希望所有对象都具有不同的对象但具有相同的字段(类字段),请查看
static

,仅供参考,使用反勾号格式化大块代码不是一个好主意。若要格式化整个块,请将其中的行缩进四个字符,或高亮显示块,然后单击“格式化”工具栏中的大括号按钮。这似乎是范围问题。此外,我们还有很多未知因素,因为我们不知道你在课堂上做什么。你最好把代码贴出来让我们看看。为什么要让B类设置A实例的值,而C类读取A实例?谢谢,我真的不知道如何正确格式化。
A对象
生成一个新对象。为什么它会有你在别处设置的价值?我对C++很陌生,对不起。那么,你的意思是,如果我使用指针,它应该会工作?这个方法成功地修复了程序,我理解了错误,这正是我想要的。抱歉,这在问题中不清楚。@PotatoIng_uuu但static意味着该字段对于类的所有实例都具有相同的值。如果您只想在创建某个实例时在另一个位置访问该类实例的任意字段,则必须传递该字段。因此,建议的解决方案可能对您有效,但可能做得太多。这意味着创建一个字段
静态
与使用全局变量几乎是一样的。@cwschmidt这是一个非常简单的程序,我不认为它会有那么大的影响。但对于未来的参考,你会有什么建议?@PotatoIng_uu没有进一步的背景,很难提出任何建议。但经验法则是:尽可能避免使用全局变量,并且更喜欢非静态字段,因为静态字段类似于全局变量。但是,参考我的第一个答案:
static
的建议解决方案可能对您有效,但我怀疑您是否完全理解原因,因为您说您没有意识到您使用了两个不同的对象,并且
static
没有改变您使用两个不同对象的事实,它只是使
i
的范围更加全球化(这可能意味着糟糕的设计)。你是对的,如果我不了解它的一切,我就不能说我了解它。再说一次,这甚至不是一个项目,所以我选择了第一个有效的答案。这里没有太多的上下文,我正在学习C++的过程,这是一个测试我目前正在学习的东西的项目。这就是它的全部功能。不过,谢谢您在
static
上通知我。