实例化对象变量可见性

Instantiated object variable visibility

本文关键字:可见性 变量 对象 实例化      更新时间:2023-10-16

这似乎是一个简单的问题状态,但我无法理解的解决方案是什么。我有一个screen类,对象基本上是x和y坐标,字体颜色等。一切正常,我可以实例化和使用这些对象。

有时我需要更改正在写入屏幕的字符串的颜色。这更像是一个"系统调用",一旦完成,就会设置之后写入的所有字符串。所以每次我在屏幕上写字时,我都不得不先"设置文字颜色"。还是我?我有一个方法,setValue: objA->setValue("1234", RED);

当方法得到这个调用时,它将设置屏幕写入的颜色。假设objA将颜色设为红色。如果另一个对象需要写到屏幕上,它是相同的颜色,我不想再把它写到屏幕上,以减少写到屏幕的次数。因此,基于最后一个对象的颜色,我想更新屏幕文本的颜色(或不更新)在C中,这当然是最邪恶的静态全局。如何在c++中做类似的事情?

谢谢…

我不完全确定你在这里要做什么:也就是说,如果你使用的对象是用来表示屏幕或屏幕内的一些文本。我假定是后者。

听起来你只是想要一个地方存放你的颜色值,以便后续调用不指定颜色值。您可能应该查看类的静态成员。在最简单的情况下,您只需拥有一个"color"类型的私有静态类成员,并让"setValue()"函数简单地更新该变量。

(顺便说一句,如果我正确地阅读了你的问题,"setValue"应该被称为"写文本"。也许我误解了。将类的"set color"拆分为公共静态成员函数也是明智的。不是正确性的问题,只是清晰的问题)