函数名前后加const的区别

本文深入解析C++中const成员函数的概念、语法及应用规则,包括其合法性和非法性的判断依据,通过具体例子展示了如何正确地使用const成员函数来操作常量或常对象,并强调了在函数说明和实现部分加入const关键字的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	int const func1();
      int func2() const;

func1是合法的,表示一个常量函数,返回的是一个常量的值,也就是返回的值是不可以改变的!表示该成员函数的隐藏this指针参数是int* const类型的。

func2是非法的!const用在函数后只要是针对类的const对象。因此对函数的const限定词只能用于类的成员函数。使用const修饰的成员函数称为常成员函数,只有常成员函数才能操作常量或者常对象;没有常对象修饰的函数不能操作常对象。

常成员函数的说明格式为: <类型说明符>   <函数名>   (<参数表>)   const;  其中,const是加在函数说明后面的类型修饰符,它是函数类型的一个组成部分,因此,在函数实现部分也要带const关键字。

给个例子:

	class Text
	{  
	public:  
		void   printconst(void)  const
		{cout<<"hello"<<endl;}  
		void   print(void)
		{cout<<"hello"<<endl;}  
	private:  
		int k;  
	};  

	const Text a;  //定义了类Text的一常量对象  ;
	int   main(void)  
	{  
		a.printconst();         //ok  
		a.print();             //error a.print()调用是非法的  
		return 0;  
	}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值