C++常函数

一、什么是常函数?

常函数,就是对类中任何成员不作修改而只能作访问的函数。

二、为什么存在常函数?

在一个大型的C++项目中,通常需要多人负责,我们可以简单地分成两类人,一类人负责class的设计,另一类人负责使用设计好的class。

他们在协作中,难免会出现一些错误。比如,使用者通过调用类的方法,只是想查看类的属性,但被调用的方法内部可能存在修改属性的语句,即使所修改的成员并非使用者所查看的对象,但这并不是使用者的意图。

所以,C++添加了常函数,增加一个条件来确保所调用的函数不会修改类的成员。

三、实验

1、常函数的使用

//cat.hpp
#ifndef __ANIMAL_CAT_
#define __ANIMAL_CAT_

#include <iostream>
#include <string>

using namespace std;

class cat
{
public:

	int age;
	
	cat(int age);

	int show_age() const;
};
#endif
//cat.cpp
#include "cat.hpp"

int cat::show_age()  const
{
	return this->age;
}



cat::cat(int age) 
{
	this->age = age;
}
//main.c
#include<iostream>

#include "cat.hpp"

using namespace std;

void PrintCat(const cat& c1)
{
	cout << c1.show_age() << endl;
}

int main(void)
{
	cat Cat1(5);
	PrintCat(Cat1);

	return 0;
}

程序分析:
常函数怎么使用?
①在类方法后面加上“const”关键字;
②带有“const”的类引用,只能调用类中带有 “const”关键字的函数;
③不带"const"的引用,也可以调用常函数,当然,类的其它函数也可以调用。

四、最后

const常函数就是为了保证不去修改class的任何一个成员变量。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值