const对象 不能调用非const修饰的成员函数

本文详细介绍了C++中如何定义常量对象及常量成员函数,并通过具体的代码示例解释了它们的使用方式及注意事项。文章强调了const关键字在C++中的两种主要用途:一是限制对象不允许被修改;二是指定成员函数不会改变对象状态。

class 

class UIRect:public RECT
{
public:

    UIRect(LONG leftT = 0, LONG topT = 0, LONG rightT = 0, LONG bottomT = 0)
    {
        left = leftT;
        top = topT;
        right = rightT;
        bottom = bottomT;
    }

    int GetWidth() const 
    {
        return right - left;
    }

    int GetHeight() const
    {
        return bottom - top;
    }


};

  

void DrawRect(const UIRect& rect)
{
    rect.GetWidth();
}

//只有函数右边带了const,才能被const对象使用,否则报编译错误,error C2662: 'UIRect::GetWidth' : cannot convert 'this' pointer from 'const UIRect' to 'UIRect &'

const的两个用法

1. const修饰对象不能修改对象,

2. const在成员函数右边表示不能修改成员变量,

这两个是联系在一起的,也就说明const在成员函数右边是不能重载的

 

转载于:https://www.cnblogs.com/yuzhould/p/8758917.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值