C++学习(六) 常引用、常对象、常对象成员、常成员函数

1、常引用

1.1、作用

常引用所引用的对象不能被更新。

1.2、说明

常引用的说明形式:
const 类型& 引用名

例如:

int a;
const int& b=a;// b是常引用,不允许被更改
b=2;            // 错误

二、常对象

2.1、作用

常对象中的数据成员值在对象的整个作用域内不能被更改。

2.2、注意

常对象中的数据成员为常量且必须要有初值

2.3、说明

常对象的说明形式:
类名 const 对象名[(参数表)];

const 类名 对象名[(参数表)];

三、常对象成员

3.1、作用

如果在一个类中说明了常数据成员,那么构造函数就只能通过初始化列表对该数据成员进行初始化,而在其他函数都不能对该成员赋值。

3.2、说明

常对象成员的说明形式:

class A{
   public:
   ...
   private:
     const int a;  //常数据成员
     const int b;
     const int c;
}

四、常成员函数

4.1、说明

常成员函数的说明形式:
类型 函数名(参数名) const;

4.2、注意

const 是函数类型的一个组成部分,因此在声明函数和定义函数时都要有关键字 const。在调用时不用加 const。

示例代码如下:

#include<iostream>
using namespace std;
class sample{
	public:
		sample(int i,int j)
		{
			x=i;y=j;
		}
		void show()         //定义普通成员函数 show()
		{
			cout<<x<<endl;
		}
		void show() const   //定义常成员函数 show()
		{
			cout<<y<<endl;
		}
		private:
			int x,y;
};
int main()
{
	sample a(1,2);         //定义普通对象 a
    a.show();              //调用普通成员函数 show()
	const sample b(1,2);   //定义常对象 b
	b.show();              //调用常成员函数 show()
	return 0;
}

输出结果

1
2

从上例中,有两个同名的成员函数 show(),一个是普通成员函数,另一个是常成员函数,它们是重载的。所以,关键字 const可以被用于对重载函数进行区分。

  • 5
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值