您好,登錄后才能下訂單哦!
As we all konw,const能夠用來修飾變量,那么const是否能用來修飾對象呢?關于這一點,我們可以做一個小實驗,實驗一下:
#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;
}
運行之后:
我們發現,程序并沒有報錯,也就是說,用const修飾對象是完全可以的。那么,比如,我們現在想要使用這個const修飾的對象。比如:
printf ( "the foot :%d\n", hashiqi.getFoot() );
運行一下程序,我們可以發現:
程序報錯了。
由此可知,我們用const修飾的對象,不能直接調用成員函數。那么,該怎么辦呢?答案是調用const成員函數。
先來看一下const成員函數的格式:
Type ClassName:: function ( Type p ) const
也就是說,只要在函數后加上一個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() );
運行之后,
乜有錯誤,那么來看一下它的運行結果。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。