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

回到顶部