真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C++中頭文件設(shè)計(jì)-創(chuàng)新互聯(lián)

對(duì)于小工具程序而言,用C++編寫估計(jì)也就幾個(gè)文件,此時(shí)很少設(shè)計(jì)頭文件互相包含引發(fā)的編譯出錯(cuò)問題。
但是當(dāng)軟件功能越來越多,功能越來越復(fù)雜,各模塊之間的調(diào)用關(guān)系也越來越不明顯,此時(shí)很有可能會(huì)出現(xiàn)A頭文件包含B頭文件,B頭文件包含A頭文件的情況,這種互相包含頭文件會(huì)導(dǎo)致出現(xiàn)找不到編譯類型的錯(cuò)誤。
最簡(jiǎn)單的代碼如下:
A.h如下

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了白河免費(fèi)建站歡迎大家使用!
#include "B.h"
class A
{
    B b;
}

A.cpp如下

#include "A.h"
class A
{
     ...
}

B.h如下

#include "A.h"
class B
{
  A a;
}

B.cpp如下

#include "B.h"
class B
{
...
}

如果文件是上述這種情況,則編譯出現(xiàn)找不到類型,因?yàn)轭^文件中A包含了B頭文件,B中又包含了A頭文件,這種循環(huán)包含會(huì)導(dǎo)致編譯出錯(cuò)。

解決辦法
解決辦法采用前置聲明。
改后代碼如下
A.h如下

class B;
class A
{
    B b;
}

A.cpp如下

#include "A.h"
#include "B.h"
class A
{
     ...
}

B.h如下

class A
class B
{
  A a;
}

B.cpp如下

#include "B.h"
#include "A.h"
class B
{
...
}

如果想一勞永逸呢?
對(duì)于經(jīng)常用到的模塊的頭文件,可以統(tǒng)一寫一份前置聲明文件,將常用的聲明都寫入這個(gè)頭文件,比如叫做includeDeclare.h,然后將其實(shí)際的頭文件都放入一個(gè)文件,比如includeHeaders.h中。這樣后續(xù)其他地方使用的時(shí)候,只要在頭文件中引入includeDeclare.h,在實(shí)現(xiàn)cpp文件中引入includeHeaders.h。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


當(dāng)前名稱:C++中頭文件設(shè)計(jì)-創(chuàng)新互聯(lián)
本文路徑:http://weahome.cn/article/depeih.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部