第六週任務一之程序修改

原來的錯誤程序:

class C
{
private:
	int x;
 public:
	C(int x){this->x = x;}
	int getX(){return x;}
};
void main()
{
	const C c(5);
	cout<<c.getX();
	system("pause");
}

修改後的程序一:

#include<iostream>

using namespace std;

class C
{
private:

	int x;

 public:

	C(int x){this->x = x;}

	int getX(){return x;}
};
void main()
{
	C c(5);//去掉const,常對象不能引用非const型的成員函數

	cout << c.getX() << endl;

	system("pause");
}

二:

#include<iostream>

using namespace std;

class C
{
private:

	int x;

 public:

	C(int x){this->x = x;}

	int getX() const {return x;}//將成員函數聲明爲const型,定義的常對象才能引用它
};
void main()
{
	const C c(5);

	cout << c.getX() << endl;

	system("pause");
}

經驗積累:

1.要分清對象與成員函數之間是否可以調用,常對象中的數據成員爲常變量切必須要有初值

2.常對象不能調用該對象的const成員函數,如果將常成員函數聲明爲const型後就可以了

3.調用關係:1)常對象只能調用const成員函數

                       2)一般的成員函數可以引用本類中的非const數據成員,也可以修改他們

                       3)常成員函數只能引用本類中的數據成員(可以使const數據成員,也可以是非const數據成員),而不能修改他們

上機感言:

主要是考察隊常對象、常成員函數和常數據成員之間的關係....有點亂


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章