C++:const关键字

本文详细探讨了C++中的const特性,包括常成员变量的初始化、常成员函数的限制以及常对象的使用规则。强调了常量成员的不可修改性以及它们在构造函数中的重要角色。
摘要由CSDN通过智能技术生成
  • 一、const成员变量(常成员变量)

1、只能使用初始化列表对常成员变量进行初始化;

2、常成员变量可以被访问,但是不能被修改;

3、类中所有构造函数都必须在初始化列表对常成员函数进行初始化(包括拷贝构造,移动构造)。

声明:

         const  int  a;

          const int arr[2];

         int *  const  p; 

赋值:Stu::Stu(int a,int *arr):a(a),arr{arr[0],arr[1]}

           {

           }

  • 二、const成员函数(常成员函数)

1、常成员函数中不能修改任何成员变量的值;

2、常成员函数中不能含有修改成员变量的逻辑;

3、常成员函数只能调用常成员函数(普通成员函数可能会修改成员变量的值);

4、常成员函数可以被成员函数调用。

声明:void show()const;

定义:void Stu::show()const

           {

           }

不能修改成员变量

不是成员变量可以修改

 

不能存在可以修改成员变量的逻辑

常成员函数可以被调用

常成员函数不能调用非常成员函数(存在可能修改成员变量的逻辑)

  • 三、const对象(常对象)

1、常对象中所有成员变量的值都不能被修改,必须通过构造函数的两种方式将所有成员变量进行初始化。

2、常对象可以访问成员变量、常成员变量、常成员函数,不能访问非常成员函数。

要初始化所有成员变量

不能访问非常成员函数

能访问成员变量、常成员变量、常成员函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值