如何在 C++ 中将 int 参数放入 Sigleton 构造函数
How to put int parameter into Sigleton constructor in C++
#include "Generator.h"
#include "Proxy.h"
Proxy::Proxy(int inputbits):Generator(inputbits)
{
}
Proxy::~Proxy()
{
}
Generator * Proxy::operator ->()
{
if(counter<=10)
return rPointer;
else
return 0;
}
//Proxy* Proxy::instance = 0;
Proxy* Proxy::getInstance()
{
static Proxy* instance;
return instance;
}
.
#ifndef PROXY_H
#define PROXY_H
#include "Generator.h"
class Proxy: private Generator
{
public:
~Proxy();
static Proxy* getInstance();
Generator * operator ->();
private:
Proxy();
Proxy(int);
int bits;
int counter;
Generator * rPointer;
};
#endif // GENERATORPROXY_H
这些是我的单例代码,我想做的是在主函数中创建 Proxy 对象后将一些参数传递给构造函数,因为 Proxy::Proxy(int inputbits):Generator(inputbits)
我要去使用 getInstance 函数,但它不起作用。如果您有任何想法,请赐教。谢谢,我希望能够做的是,例如,在 main 函数中,Proxy px(3); <- 我知道这行不通,但我想以任何方式使用类似的东西。
您可以在另一个函数的帮助下完成它,该函数在其调用时提供所需的位。
int get_bits() {
return 3;
}
Proxy *Proxy::getInstance() {
static Proxy* instance = new Proxy(get_bits());
return instance;
}
或者在单个 Proxy
默认构造函数中完成(更好)
Proxy::Proxy():Generator(get_bits()) {
}
#include "Generator.h"
#include "Proxy.h"
Proxy::Proxy(int inputbits):Generator(inputbits)
{
}
Proxy::~Proxy()
{
}
Generator * Proxy::operator ->()
{
if(counter<=10)
return rPointer;
else
return 0;
}
//Proxy* Proxy::instance = 0;
Proxy* Proxy::getInstance()
{
static Proxy* instance;
return instance;
}
.
#ifndef PROXY_H
#define PROXY_H
#include "Generator.h"
class Proxy: private Generator
{
public:
~Proxy();
static Proxy* getInstance();
Generator * operator ->();
private:
Proxy();
Proxy(int);
int bits;
int counter;
Generator * rPointer;
};
#endif // GENERATORPROXY_H
这些是我的单例代码,我想做的是在主函数中创建 Proxy 对象后将一些参数传递给构造函数,因为 Proxy::Proxy(int inputbits):Generator(inputbits)
我要去使用 getInstance 函数,但它不起作用。如果您有任何想法,请赐教。谢谢,我希望能够做的是,例如,在 main 函数中,Proxy px(3); <- 我知道这行不通,但我想以任何方式使用类似的东西。
您可以在另一个函数的帮助下完成它,该函数在其调用时提供所需的位。
int get_bits() {
return 3;
}
Proxy *Proxy::getInstance() {
static Proxy* instance = new Proxy(get_bits());
return instance;
}
或者在单个 Proxy
默认构造函数中完成(更好)
Proxy::Proxy():Generator(get_bits()) {
}