第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于本節(jié)教程demo.cpp中include的疑問(wèn)。

直接按照老師步驟做,無(wú)法通過(guò)編譯,在demo.cpp引入Teacher.h頭文件后可以運(yùn)行,當(dāng)引入Teacher.cpp文件卻無(wú)法運(yùn)行。請(qǐng)問(wèn)老師,Teacher.h文件沒(méi)有類(lèi)的具體實(shí)現(xiàn)也沒(méi)有include Teacher.cpp文件,為什么會(huì)編譯成功呢?是IDE的作用還是編譯器的作用?原因是因?yàn)檫@兩個(gè)文件的名字都叫Teacher么???

正在回答

1 回答

在使用一個(gè)類(lèi)時(shí),只需要提供類(lèi)定義即可,無(wú)需知道類(lèi)實(shí)現(xiàn),就可以進(jìn)行編譯。?一般類(lèi)定義都是寫(xiě)在 .h 文件中的,所以include .h文件即可。

類(lèi)定義相當(dāng)于定義了類(lèi)可以進(jìn)行的操作,代碼只要知道了類(lèi)定義就可以操作其成員。至于這些成員函數(shù)是怎么實(shí)現(xiàn)的,編譯器在編譯這個(gè)源文件時(shí)并不關(guān)心,所以無(wú)需知道類(lèi)實(shí)現(xiàn)就可編譯。

當(dāng)然要使整個(gè)程序能執(zhí)行,還是得實(shí)現(xiàn)相應(yīng)的成員函數(shù),只不過(guò)那也許是寫(xiě)在其他cpp文件中的。這些寫(xiě)在其他cpp文件中類(lèi)的實(shí)現(xiàn)會(huì)被鏈接機(jī)制找到,最終鏈接成可執(zhí)行文件。


為什么不能include .cpp:?在C/C++中,所有變量函數(shù)都只能定義一次。而類(lèi)實(shí)現(xiàn)一般寫(xiě)在.cpp文件中,如果你在代碼中include了.cpp——會(huì)導(dǎo)致不同源文件中可能會(huì)include類(lèi)實(shí)現(xiàn)多次——就會(huì)造成類(lèi)成員函數(shù)的定義出現(xiàn)在多個(gè)源文件中,這會(huì)在鏈接時(shí)引發(fā)重定義錯(cuò)誤。

2 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
C++遠(yuǎn)征之封裝篇(上)
  • 參與學(xué)習(xí)       103386    人
  • 解答問(wèn)題       732    個(gè)

封裝--面向?qū)ο蟮幕?,本教程力求幫助小伙伴們即學(xué)即會(huì)

進(jìn)入課程

關(guān)于本節(jié)教程demo.cpp中include的疑問(wèn)。

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)