c++ - 引用的初始化

标签 c++ reference

我写了下面的代码,我期望得到 5个 6个 6个 6,但我得到的是 5 6 5 0。似乎“val”一开始就正确地获得了引用,但后来它丢失了。有人知道我的错误在哪里吗?

class Count {

    public:  
    void add() {  
    val++;
    }
    void print() {  
    cout << val  << endl;  
    }  
    Count(int c): val(c) {  
    }  
    private:  
    int &val;
};  

int main() {  

    int c = 5;  
    Count teste(c);  
    teste.print();  
    teste.add();  
    teste.print();  
    cout << c << endl;  
    teste.print();  
    return 0;  
}

最佳答案

你的构造函数应该通过引用而不是值来获取参数。

关于c++ - 引用的初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5179553/

相关文章:

c++ - 在替换正则表达式中向匹配的数字加一

c++ - 在 Windows 上跟踪移动到回收站的进度

javascript - Emscripten 在 Visual Studio 中导出函数异常

c++ - cpp中的字符串引用处理

css - 两种类型的 jquery ui 引用得到不同的结果

c++ - 如何启动cppunit测试?

C++ getenv 和 setenv

Java:如何打印整数对象的引用?

java - 卡在方法/类引用问题上(JAVA Basic)

c++ - 我在这里做错了什么吗(C++ 中的引用)?