[转]函数声明后面的const用法

2018-06-17 23:47:10来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

通常我们会看到一些函数声明后面会跟着一个const,如下

void function() const{}

这个const是做什么的呢?

看一下下面的例子,就知道了。直接在编译前,就会提示下面的两个错误.

#include "stdafx.h"
#include <iostream>
using namespace std;

class aa{
    int num;
public:
    aa(){
        int b =10;
        num = b;
    };
    void out1(){
        cout<<num<<endl;
    }
    void out2() const{
        cout<<num<<endl;
    }
    void out3() const{
        num+=10; //出错,const函数不能修改其数据成员
        cout<<num<<endl;
    }

};
int main(int argc, _TCHAR* argv[])
{
    aa a1;
    a1.out1();
    a1.out2();
    a1.out3();
    const aa a2;
    a2.out1(); // 错误,const的成员 不能访问非const的函数
    a2.out2();
    a2.out3();
    return 0;
}

在类成员函数的声明和定义中,

const的函数不能对其数据成员进行修改操作。

const的对象,不能引用非const的成员函数。

转载于:http://www.cnblogs.com/xing901022/p/3413019.html

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:2016 大连网赛---Different GCD Subarray Query(GCD离散+树状数

下一篇:codevs 1021 玛丽卡(spfa)