C ++编程语言中的可变数据成员
可变数据成员是可以随时更改的成员;即使对象是const类型。它与“ const”相反。有时,我们只需要使用一个或两个数据成员作为变量,而另一个则用作常量。在这种情况下,可变对管理类非常有帮助。
为了使数据成员可变,我们需要使用可变关键字。它是用C ++语言内置的。
C ++中可变数据成员的示例
#include <iostream>using namespace std;
class Sample
{
int x;
mutable int y;
public:
Sample(int a=0, int b=0)
{ x=a; y=b;}
//设置x值的功能
void setx(int a=0)
{x = a;}
//设置y值的功能
//即使成员函数不变,y的值也会更改。
void sety(int b=0) const
{y = b;}
//显示x和y的功能。
//如果成员函数是常量类型,则必须为const类型。
void display() const
{
cout<<endl<<"x: "<<x<<" y: "<<y<<endl;
}
};
int main(){
const Sample s(10,20); //const对象
cout<<endl <<"Value before change: ";
s.display();
s.setx(100); //错误:由于对象是常量,因此无法更改x。
s.sety(200); //y仍然可以更改,因为y是可变的。
cout<<endl<<"Value after change: ";
s.display();
return 0;
}
在此程序中,语句s.setx(100); 会产生一个错误,但是语句s.sety(200); 将不会。
因此,很明显,我们只能更改y的值(因为可变),而不能更改x的值。
以上是 C ++编程语言中的可变数据成员 的全部内容, 来源链接: utcz.com/z/316004.html