Creating object with constant parameters from stream

前端 未结 4 2071
我在风中等你
我在风中等你 2021-01-18 05:02

let us assume I have a class with

#include 
using namespace std;

class Test{
    public:
        friend istream& operator >> (istr         


        
4条回答
  •  长情又很酷
    2021-01-18 05:41

    Define a Dummy class:

    class Dummy {
    public:
        Dummy() { value = 0; }
        friend istream& operator >> (istream& input, const Dummy& dummy){
            input >> dummy.value;
            return input;
        }
        friend ostream& operator << (ostream& output, const Dummy& dummy){
            output << dummy.value << endl;
            return output;
        }
        int getValue() const { return value; }
    private:
        mutable int value;
    };
    

    And use it in Test:

    class Test {
    public:
        Test() { cin >> dummy; }
    private:
        const Dummy dummy;
    };
    

    It works as expected.

提交回复
热议问题