C++中常对象、常成员函数、常成员变量

const修饰的类对象叫做常对象,

const修饰的成员函数叫常成员函数,

const修饰的成员变量叫常成员变量,

常对象:

型如:

     const  <类名>  <对象名>

     <类名>  const  <对象名>

说明:

1.常对象内的成员变量值不可修改,所以一定要在定义对象时初始化

2.常对象只可以调用常成员函数,但是非常对象可以调用常成员函数。

3.通过常成员函数只能进行读取变量值,不能修改任何成员变量值

常成员函数:

型如:

    <类型标志符>函数名(参数表)const;

说明:

1.const是函数的一部分,所以在实现时也是需要加入const不能省略。

2.常成员函数可以被常对象和普通对象调用。

3.常成员函数内不可以修改任何成员变量的值。

4.常成员函数只可以调用对象内其他常成员函数。

常成员变量:

型如:

    const  <变量类型>  <变量名>

    <变量类型>   const  <变量名>

说明:

1.常成员变量必须在构造函数中初始化(通过列表初始化)。

2.常成员变量不能被赋值,即初始化后不能被改变。

下图代码+运行结果:

#include<iostream>
#include<string>
using namespace std;
class Person
{
	private:
		int age;
		string name;
	public:
		Person(const int,const string);
		void show();
		void show()const;
		void show111()const;
		~Person();
};
Person::Person(const int x,const string y):age(x),name(y)
{}
void Person::show()
{
	cout<<age<<"  "<<name<<endl;
	cout<<"我是普通成员函数"<<endl;

}
void Person::show111()const
{
	cout<<"常成员函数调用了我"<<endl;

}
void Person::show()const
{
	cout<<age<<"  "<<name<<endl;
	show111();
	cout<<"我是常成员函数"<<endl;
	
}
Person::~Person()
{}
int main()
{
	const Person p=Person(23,"AAAAA");
	p.show();	
}

​​​​​​​

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值