访问本地实例化的对象

时间:2015-05-23 22:04:13

标签: c++

我知道这是一个新手问题,但我遇到了一些麻烦。

我们假设我正在尝试将某些内容写入我创建的文本字段中。

我将在入口点内实例化textField类 main.cpp中:

#include "textField.h"  

void main()
{
  textField field;
  field.show();        
}

现在,在另一个源文件中,我会尝试向该textField写一些东西 HELLO.CPP

#include "textField.h"

void sayHello()
{
   field.write("Hello!");
}

让我们假设 sayHello()在将来的某个时间在main()函数之外的其他地方被调用。我们还假设许多其他文件需要访问TextField的那个实例。

当然这段代码不起作用,所以我的问题是:建议哪种方法能够从另一个文件访问TextField类的实例?

经过一些研究后,我发现了一些解决方案,比如使textField成为单例,或者巧妙地使用指针,甚至使实例成为全局变量,但我不确定这些是最佳方法。我试图将全局变量保持在最低限度。

我能够自己找到解决方案,但我想对这类示例的最佳编码实践提出一些意见。

1 个答案:

答案 0 :(得分:-1)

如果这个textField是一个真正的UI小部件,我想你可以通过窗口HWND或你正在使用的UI库来获取它。

如果此textField只是普通类的示例名称,我认为您可以创建一个名为" GlobleVariable"或者无论名称是什么,并将要全局使用的实例移动到此类中。这个类可以是单例。