C 學習之路(12) 類間通訊之前置宣告

2021-08-08 18:57:54 字數 1291 閱讀 7403

兩個類a和b實現互相呼叫彼此的方法,如果採用彼此包含對方標頭檔案的方式會出現迴圈引用,所以採用了類的前置宣告的方式

1,class a採用前置宣告的方式宣告class b

2,在classb的標頭檔案中包含class a 的標頭檔案

3,在class a中只能宣告class b型別的指標或者引用

具體**如下:

a.h:

[html]view plain

copy

print?

#pragma once  

class b;  

class a  

;  

a,cpp

[cpp]view plain

copy

print?

#include "a.h"

#include "b.h"

#include 

using

namespace

std;  

a::a()  

a::a(b * pb)  

a::~a()  

void

a::displaya()  

void

a::invokeclassbinclassa()    

b.h[cpp]view plain

copy

print?

#pragma once

#include "a.h"

class

b  ;  

b.cpp

[cpp]view plain

copy

print?

#include "b.h"

#include 

using

namespace

std;  

b::b()  

b::~b()  

void

b::displayb()  

void

b::invokeclassainclassb()    

main.cpp

[cpp]view plain

copy

print?

#include 

#include "a.h"  

#include "b.h"

using

namespace

std;  

intmain()  

Java 學習筆記 執行緒間通訊(day12)

內容概要 1.執行緒間通訊的示例 2.安全問題的解決 3.等待喚醒機制 4.優化 5.生產者消費者例子 6.生產者消費者例子 優化 jdk5.0公升級版 可以發現,執行輸出出現了錯誤的情況。更改後 執行發現,修改後的 輸出無錯誤,但是出現了大片連續的相同輸出。執行輸出如圖,加入等待喚醒機制後,實現了...

C 語言學習記錄 12 類和物件

c 被稱作物件導向的語言,那麼乙個很重要的問題就是什麼是物件。物件 object 就是指乙個物品或一件事物。同時,這個事物有自己的屬性和操作特點。乙個圓可以被看作物件,那麼它所含的屬性就有半徑 座標 面積,可以進行的操作就有改變它的位置 把一本書看作乙個物件,那麼它的屬性就是質量 頁數 字元數 長寬...

C 學習之路(33) 型別的提公升和轉換

一 型別的提公升 把char unsigned char short unsigned short轉換成int型別稱為型別提公升 promotion 1.如果short的位元組長度小於int的位元組長度 char轉換成 int unsigned char轉換成 int short轉換成 int un...