共享数据的保护

    对于既需要共享又需要防止改变的数据应该声明为常量。
1、    常引用:引用的对象不能被更新。声明形式如下:
    const  类型说明符 &引用名;
2、    常对象:常对象必须进行初始化,而且不能被更新。且只能调用它的长成员函数。声明对象的语法形式为:
    类名  const 对象名;
3、常成员函数:其不能更新对象的数据成员,也不能调用该类中没有用const修饰的成员函数。const关键字可以用于对重载函数的区分。其函数声明的格式如下:
    类型说明符 函数名(参数表) const;
4、常数据成员:使用const说明的数据成员为常数据成员。任何函数不能对该数据赋值。构造函数对该数据成员进行初始化就只能通过初始化列表。
附例 常数据成员举例
#include<iostream>
using namespace std;
class A
{
public:
 A(int i);
 void print();
 const int &r;
private:
 const int a;
 static const int b;//静态常数据成员
};
const int A::b=10;//静态常数据成员在类外说明和初始化
A::A(int i):a(i),r(a)   //常数据成员只能通过初始化列表来获得初值
{
}
void A::print()
{
 cout<<a<<":"<<b<<":"<<r<<endl;
}
void main()
{
//建立对象a和b,并以100和0作为初值,分别调用构造函数,通过构造函数的初始化列表给对象的常数据成员
//赋初值
 A a1(100),a2(0);
 a1.print();
 a2.print();
}
   
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值