C++常對象精講_const症結字的用法。本站提示廣大學習愛好者:(C++常對象精講_const症結字的用法)文章只能為提供參考,不一定能成為您想要的結果。以下是C++常對象精講_const症結字的用法正文
const症結字:
用const潤飾的界說對象稱為常對象;
用const潤飾的聲明成員函數稱為常成員函數;
用const潤飾的聲明數據成員稱為常數據成員。
變量或對象被 const潤飾後其值不克不及被更新。是以被const潤飾的變量或對象必需要停止初始化。
常對象解釋:常對象是指對象的數據成員的值在對象被挪用時不克不及被轉變。常對象必需停止初始化,且不克不及被更新。不克不及經由過程常對象挪用通俗成員函數,然則可以經由過程通俗對象挪用常成員函數。常對象只能挪用常成員函數。常對象的聲明以下:
const <類名> <對象名>
<類名> const <對象名>
兩種聲明完整一樣沒有任何差別。
1、經由過程上面例子來懂得常對象:
A、請指出上面法式的毛病
class A{
private:
int w,h;
public:
int getArea() const
{
return w*h;
}
int getW(){ return w;}
void setWH(int x,int y) {w=x,h=y;}
A(int x,int y){w=x,h=y;}
A(){;}//本例中不克不及省略
};
void main()
{
A a;//異常對象可以不初始化
a.setWH(3,9);
A const b; //常對象必需聲明的同時初始化,准確的是 A const b(3,6)。
b.setWH(3,7); // 假設下面糾正後用這一句,照樣毛病應為b是常對象不克不及挪用異常成員函數,切其值挪用時不克不及轉變,setWH()
cout<< a.getArea()<<endl<< b.getArea()<<c.getArea();
system("pause");