溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++中const修飾的成員函數(shù)

發(fā)布時間:2020-07-18 21:46:02 來源:網(wǎng)絡 閱讀:1174 作者:BarnabyRoss 欄目:編程語言

As we all konw,const能夠用來修飾變量,那么const是否能用來修飾對象呢?關(guān)于這一點,我們可以做一個小實驗,實驗一下:

#include <stdio.h>
#include <stdlib.h>

class Dog{

private:
    int foot;
    int ear;
public:
    Dog (){

        this->foot = 4;
        this->ear = 2;
    }
    int getFoot ( void ){

        return this->foot;
    }
    int getEar ( void ){

        return this->ear;
    }
    void setFoot ( int foot ){

        this->foot = foot;
    }
    void setEar ( int ear ){

        this->ear = ear;
    }
};

int main ( int argc, char** argv ){

    const Dog hashiqi;

    system ( "pause" );
    return 0;
}

運行之后:
C++中const修飾的成員函數(shù)
我們發(fā)現(xiàn),程序并沒有報錯,也就是說,用const修飾對象是完全可以的。那么,比如,我們現(xiàn)在想要使用這個const修飾的對象。比如:

printf ( "the foot :%d\n", hashiqi.getFoot() );

運行一下程序,我們可以發(fā)現(xiàn):
C++中const修飾的成員函數(shù)
程序報錯了。
由此可知,我們用const修飾的對象,不能直接調(diào)用成員函數(shù)。那么,該怎么辦呢?答案是調(diào)用const成員函數(shù)。
先來看一下const成員函數(shù)的格式:

Type ClassName:: function ( Type p ) const

也就是說,只要在函數(shù)后加上一個const就可以了。那么,我們來編程實驗一下,是否可以

int getFoot ( void ) const{

        return this->foot;
    }
    int getEar ( void ) const{

        return this->ear;
    }
const Dog hashiqi;

    printf ( "the foot :%d\n", hashiqi.getFoot() );

運行之后,
C++中const修飾的成員函數(shù)
乜有錯誤,那么來看一下它的運行結(jié)果。
C++中const修飾的成員函數(shù)

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI