#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(int inputbits):Generator(inputbits) मैं getInstance फ़ंक्शन का उपयोग करने जा रहा था, लेकिन यह काम नहीं किया। कृपया मुझे प्रबुद्ध करें यदि आपके पास कोई विचार है। धन्यवाद, मैं जो करने में सक्षम होने की उम्मीद कर रहा हूं, उदाहरण के लिए, मुख्य कार्य में, प्रॉक्सी पीएक्स (3); <- मुझे पता है कि यह काम नहीं कर रहा है, लेकिन मैं इस तरह कुछ इस तरह से उपयोग करना चाहता हूं।

0
Gideok Seong 25 अप्रैल 2018, 05:01

1 उत्तर

सबसे बढ़िया उत्तर

आप इसे किसी अन्य फ़ंक्शन की सहायता से कर सकते हैं, जो इसके कॉल पर आवश्यक बिट्स प्रदान करता है।

int get_bits() {
    return 3;
}

Proxy *Proxy::getInstance() {
    static Proxy* instance = new Proxy(get_bits());
    return instance;
}

या इसे एकल Proxy डिफ़ॉल्ट कंस्ट्रक्टर में करें (यह बेहतर है)

Proxy::Proxy():Generator(get_bits()) {
}
1
S.M. 25 अप्रैल 2018, 05:14