【C++学习笔记】何时需要const限定类成员函数?

本文通过实例探讨C++中何时需要在成员函数中使用const关键字。当函数不会修改对象状态,尤其是当函数接收const对象或参数为const时,应使用const限定。实验表明,const限定会影响函数返回值类型以及类指针的使用,确保不违反const语义。
摘要由CSDN通过智能技术生成
#include <iostream>
class abc
{
    private:
        double x;
    public:
        abc(double y);
        abc();
        ~abc();
        abc& Comp(abc& n);
        void show();
};
abc::abc(double y)
{
    x=y;
}
abc::abc()
{
    x=0.0;
}
abc::~abc()
{
    
}
abc& abc::Comp(abc& n)
{
    if (n.x>x)
        return n;
    else 
        return *this;
}
void abc::show()
{
    std::cout<<"x="<<x<<std::endl;
}
int main() 
{
    abc A=abc(55.43);
    abc B=abc();
    abc *p=&B.Comp(A);
    p->show();
    return 0;
} 

//举个小栗子,代码中有一个类abc,一个私有成员x,一个对比两个对象的函数Comp和一个显式函数show

//上面的程序,不带任何const限定,程序可以通过编译并正常运行
//测试工具:DEV C++

//通过试验来了解何时使用const来限定成员函数,以及哪些限定位置是有联系的!

//我们知道,如果创建一个const类型的对象,那么调用它的成员函数需要进行const限定,因为无法保证该成员函数的代码是否会修改对象的数据,这就是需要使用const的时机!

//第一次实验,我们将Comp()函数的参数,改成const限定的参数,即“保证传递的引用对象不会被无意间修改

#include <iostream>
class abc
{
	private:
		double x;
	public:
		abc(double y);
		abc();
		~abc();
		abc& Comp(const abc& n);  //此处参数添加cosnt限定
		void show();
};
abc::abc(double y)
{
	x=y;
}
abc::abc()
{
	x=0.0;
}
abc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值