1.作用域:是標(biāo)識符(變量、常量杜顺、類财搁、對象、函數(shù)等)的有效范圍躬络;
可見性:標(biāo)識符是否可以引用的問題尖奔;
2.塊作用域
塊是一對花括號括起來的一段程序單元。
在塊中聲明的標(biāo)識符洗鸵,其作用域從聲明處開始越锈,直到塊結(jié)束的右花括號。
3.作用域可見性的一般規(guī)則:
標(biāo)識符應(yīng)聲明在先膘滨,引用在后甘凭。
在同一作用域中,不能聲明同名的標(biāo)識符火邓。
如果某個標(biāo)識符在外層中聲明丹弱,且在內(nèi)層中沒有同一標(biāo)識符的聲明,則該標(biāo)識符在內(nèi)層可見铲咨。
對于兩個嵌套的作用域躲胳,如果在內(nèi)層作用域內(nèi)聲明了與外層作用域中同名的標(biāo)識符,則外層作用域的標(biāo)識符在內(nèi)層不可見纤勒。
4.友元
友元是C++提供的一種破壞數(shù)據(jù)封裝和數(shù)據(jù)隱藏的機制坯苹。
通過將一個模塊聲明為另一個模塊的友元,一個模塊能夠引用到另一個模塊中本是被隱藏的private 和 protected信息摇天。
可以使用友元函數(shù)和友元類粹湃。
為了確保數(shù)據(jù)的完整性恐仑,及數(shù)據(jù)封裝與隱藏的原則,建議盡量不使用或少使用友元为鳄。
5.友元函數(shù)
友元函數(shù)是在類聲明中由關(guān)鍵字friend修飾說明的非成員函數(shù)裳仆,在它的函數(shù)體中能夠通過對象名訪問 private 和 protected成員
作用:增加靈活性,使程序員可以在封裝和快速性方面做合理選擇孤钦。
訪問對象中的成員必須通過對象名歧斟。
6.友元類
若一個類為另一個類的友元,則此類的所有成員都能訪問對方類的私有成員偏形。
聲明語法:將友元類名在另一個類中使用friend修飾說明静袖。