在构造函数中通过引用传递值,保存它,然后稍后修改它,可以通过使用指针来实现。指针是一种存储变量内存地址的变量,可以通过指针来修改原始变量的值。以下是一个简单的示例:
#include<iostream>
class MyClass {
public:
MyClass(int& value) : _value(&value) {}
void modifyValue(int newValue) {
*_value = newValue;
}
private:
int* _value;
};
int main() {
int value = 10;
MyClass obj(value);
std::cout << "Before modification: "<< value<< std::endl;
obj.modifyValue(20);
std::cout << "After modification: "<< value<< std::endl;
return 0;
}
在这个示例中,我们创建了一个名为MyClass
的类,它有一个构造函数,该构造函数接受一个整数引用作为参数,并将其地址存储在类的私有成员变量_value
中。然后,我们创建了一个名为modifyValue
的成员函数,该函数接受一个整数作为参数,并将其存储在_value
指向的内存地址中。在main
函数中,我们创建了一个名为value
的整数变量,并将其值设置为10。然后,我们创建了一个MyClass
对象,并将value
变量的引用传递给它。最后,我们使用modifyValue
函数修改value
变量的值,并在修改后打印它的值。输出结果如下:
Before modification: 10
After modification: 20
这个示例演示了如何在构造函数中通过引用传递值,保存它,并在稍后修改它。
领取专属 10元无门槛券
手把手带您无忧上云