今天學(xué)習(xí)了四個(gè)方面席舍。作用域與可見(jiàn)性,友元哮笆,編譯預(yù)處理命令来颤,多文件結(jié)構(gòu)和工程。
1.作用域:是標(biāo)識(shí)符(變量稠肘、常量福铅、類、對(duì)象项阴、函數(shù)等)的有效范圍滑黔;可見(jiàn)性:標(biāo)識(shí)符是否可以引用的問(wèn)題。塊是一對(duì)花括號(hào)括起來(lái)的一段程序單元环揽。在塊中聲明的標(biāo)識(shí)符略荡,其作用域從聲明處開始,直到塊結(jié)束的右花括號(hào)歉胶。
2.作用域可見(jiàn)性的一般性規(guī)則:標(biāo)識(shí)符應(yīng)聲明在先汛兜,引用在后。
在同一作用域中通今,不能聲明同名的標(biāo)識(shí)符粥谬。
如果某個(gè)標(biāo)識(shí)符在外層中聲明,且在內(nèi)層中沒(méi)有同一標(biāo)識(shí)符的聲明辫塌,則該標(biāo)識(shí)符在內(nèi)層可見(jiàn)漏策。
對(duì)于兩個(gè)嵌套的作用域,如果在內(nèi)層作用域內(nèi)聲明了與外層作用域中同名的標(biāo)識(shí)符臼氨,則外層作用域的標(biāo)識(shí)符在內(nèi)層不可見(jiàn)掺喻。
3.友元:友元是C++提供的一種破壞數(shù)據(jù)封裝和數(shù)據(jù)隱藏的機(jī)制。
通過(guò)將一個(gè)模塊聲明為另一個(gè)模塊的友元一也,一個(gè)模塊能夠引用到另一個(gè)模塊中本是被隱藏的private 和 protected信息巢寡。
可以使用友元函數(shù)和友元類。
為了確保數(shù)據(jù)的完整性椰苟,及數(shù)據(jù)封裝與隱藏的原則抑月,建議盡量不使用或少使用友元。
4.多文件結(jié)構(gòu)和編譯預(yù)處理命令
#include 包含指令:將一個(gè)源文件嵌入到當(dāng)前源文件中該點(diǎn)處舆蝴。
#include<文件名>:按標(biāo)準(zhǔn)方式搜索谦絮,文件位于C++系統(tǒng)目錄的include子目錄下
#include"文件名":首先在當(dāng)前目錄中搜索题诵,若沒(méi)有,再按標(biāo)準(zhǔn)方式搜索层皱。
#define 宏定義指令:定義符號(hào)常量:#define PI 3.14#undef刪除由#define定義的宏性锭,使之不再起作用。
一個(gè)源程序一般至少分為三個(gè)源文件:類聲明文件(.h文件)叫胖,類實(shí)現(xiàn)文件(.cpp文件)草冈,類的使用文件(main( ) 所在的.cpp文件)。
問(wèn)題:程序出現(xiàn)“初始化”:從“double”到“const float”截?cái)唷?/p>
解決方法: