程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> [轉]函數聲明後面的const用法,const用法

[轉]函數聲明後面的const用法,const用法

編輯:C++入門知識

[轉]函數聲明後面的const用法,const用法


通常我們會看到一些函數聲明後面會跟著一個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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved