假设我正在编写一个软件,它有大约 50 个类。 我们可以将类分为两部分: 1. 我们强制为更多的实例创建实例的类。 2. 类我们只创建一个实例直到程序结束。
所以,假设我有 MainProgram 类,一切都在这里做,然后
在 main.cpp 中创建一个实例并运行我的程序。
现在,我需要将只创建一次的实例(选项 2)传递给其他类,你呢?
有什么想法可以实现吗?
因为我不能 new
了。我只是使用旧实例。例如:
我编写了一个 SocketNetwork 类
,它的构造函数获取端口号并绑定(bind)
到它。
所以我不能再次重新绑定(bind)
,我被迫访问给定端口号的资源。
最佳答案
您似乎在寻找 singleton pattern .
它是这样的:
class A
{
public:
static A& getInstance()
{
static A a;
return a;
}
private:
A() {}
};
因为构造函数是私有(private)的,所以你只能获取通过getInstance()
方法创建的A
的单个实例,你可以在任何地方调用。
`A::getInstance()`
将始终返回 A
的相同实例。
关于c++ - 如何在多个文件和类之间传递实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12045669/