人妻丰满熟妇AV无码片,岛国AV无码免费无禁网站,丰满岳乱妇一区二区三区,男插女高潮一区二区

用cpp類的前置聲明來(lái)解決兩個(gè)類互相循環(huán)調(diào)用問(wèn)題

技術(shù)分享 2021-03-31 15:08:34

一般一個(gè)程序類這樣的:


一個(gè)通用的主控類,比如叫 Main,下面多個(gè)模塊類:A,B,C,一共四個(gè)。


A,B,C 類的頭文件都被 Main 的頭文件 include,然后構(gòu)造函數(shù)初始化 為 a,b,c.  Main類中就可以用 this->a  調(diào)用模塊類的方法。


現(xiàn)在 A,B,C 這些下屬模塊類也要調(diào)用 Main的功能怎么辦,也在頭文件中包含 Main 嗎?這樣互相包含頭文件可以嗎?

不行!


這就要用到 類的前置聲明:


A.h 文件:


class Main; //只是一個(gè)前置空聲明

class A{

   Main * parent;   //沒(méi)有包含main.h,也能造一個(gè)叫Main的指針啦

}


A.cpp 文件:

#include "main.h"  //cpp文件調(diào)用具體main頭文件,畢竟要操作具體main的方法

這時(shí)候你的ide已經(jīng)能夠調(diào)用到 Main Class 的方法了,但是運(yùn)行時(shí)會(huì)出錯(cuò),畢竟parent還是個(gè)空殼,只需要用構(gòu)函數(shù)傳入再賦值就行了




咨詢小瓶科技
咨詢我們
頂部