国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++教程:C++對象初始化

2020-05-23 14:26:03
字體:
來源:轉載
供稿:網友
在聲明一個局部變量的時候,我們必須對它進行初始化,否則它的數據是一個不確定的值。同樣,在聲明一個對象的時候,也應該對它進行初始化。不過一個對象可能有許許多多的成員數據,對對象的初始化就意味著對許許多多的成員數據進行初始化。變量的初始化只需要一句賦值語句就能完成,而對象的初始化可能要許許多多的賦值語句才能完成。因此,我們常常把這許許多多的語句寫在一個函數中。比如我們為鏈表結點類編寫了一個名為init的初始化函數:
class Node//定義一個鏈表結點類
{
   public:
   ……
   void init(int i,char c);
   ……
   private:
   int idata;//存儲數據保密
   char cdata;//存儲數據保密
   Node *prior;//前驅結點的存儲位置保密
   Node *next;//后繼結點的存儲位置保密
};
void Node::init(int i,char c)
{
   idata=i;//初始化idata
   cdata=c;//初始化cdata
   prior=NULL;//初始化前驅結點指針
   next=NULL;//初始化后續結點指針
}
這下好了,我們創建一個鏈表結點對象之后只要運行一次init函數就能將其初始化了:
   Node a;
   a.init(0, '0');

既然init函數擔負著初始化對象的重任,那么它就必須和對象的聲明“出雙入對”了。萬一忘記對對象進行初始化,程序就可能會出錯。這就像在病毒肆虐的今天,保證電腦安全的病毒防火墻必須在開機之后立刻運行一樣。萬一哪天開了電腦忘記運行病毒防火墻,那么后果可能很嚴重。
不過,你使用的病毒防火墻是你每次開機以后自己去點擊運行的么?那樣豈不是很麻煩?你是否知道,我們使用的病毒防火墻往往是隨系統一起啟動的?

這給了我們一些啟示:有的程序能夠隨著系統的啟動而自動運行,那么會不會有一種函數,隨著對象的創建而自動被調用呢?有!那就是構造函數(Constructor)。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 依兰县| 沧州市| 彩票| 六安市| 璧山县| 满城县| 深泽县| 冷水江市| 鹤壁市| 营口市| 梨树县| 光山县| 翁源县| 通渭县| 黔西| 扶风县| 宣汉县| 赤壁市| 沾化县| 全南县| 保德县| 河间市| 于都县| 富顺县| 济南市| 金堂县| 绥德县| 太原市| 家居| 武安市| 肃宁县| 高雄市| 蛟河市| 北辰区| 毕节市| 灵石县| 钟祥市| 楚雄市| 庆阳市| 伊春市| 文登市|