1樓:拉里楊
編譯器在你的來main函式裡面發現源
可乙個"a",但是它不知道這個"a"是什麼,所以給你報錯說"undeclared identifier",這是當然的,因為你根本沒有定義"a"。
那麼你可能會說你在void b::create()的實現中寫了乙個"a",不僅寫了,你還申明它是a類的靜態物件,不過這與你在main函式裡面寫的那個"a"毫無關係。
你的問題可能是:先用b類的乙個物件呼叫b類的成員函式,這個函式中有乙個a類的靜態物件,然後在外部呼叫這個物件,這在邏輯上很詭異。
不過你若真想這麼做,那麼可以如此:
將b類的void create(void)函式改為:
a* create(void)
然後修改main函式中改為:
void main()
2樓:賈佳甜
void main()
不知道是不是這個意思
3樓:匿名使用者
在a類中申明b為友員類。
friend class b;
c++語言,乙個類a成員中中包含另乙個類b 的物件,但類b程式在類a 的後面,因此編譯a時無法識別
4樓:
假如bai類a中包含乙個靜態的類
dub的成員變數:
在a.h(a的聲zhi明檔案中dao進行宣告)內:class a
;在a.cpp(a的實現容檔案中定義b):
b a::b; //這裡可以用b的建構函式初始化b
c++中,我定義乙個類a,資料成員有a,然後裡面定義乙個虛函式x而且是const常函式(作用ret
5樓:天海一月
1、呼叫的是各自的x函式(虛函式的性質,有自身的執行自身的,沒有話,執行的父類)
2、常成員函式不能改變成員變數的值,但是可以訪問成員變數,所以是可以返回兩個成員變數的和的
簡單的C語言問題,2個簡單的C語言問題
include void main outa 100 i for i 0 i 9 i outa i 1 a i for i 0 i 10 i a i outa i for i 0 i 10 i printf d a i 第二個 include void main b i 0 c i 5 0 for ...
簡單的C語言問題,乙個簡單的C語言問題
指標型別就是陣列名。b a就是把a 的陣列名賦值給了 b,則 b就儲存了a陣列。因為是b 所以先賦值陣列a給b 然後,b再自加。則b就為1.因為 b已經儲存了陣列a,所以 b的頭位址開始從陣列a 1 儲存,此時 b 20,30,40,50 因為運算優先順序是單目運算子高,所以先運算 所以,事實上 b...
5000裡面有個百,5000裡面有個千,有個百,有個十
5000裡面有 50 個百 理由 5000 50 100。100 900共九個百 5000裡面有 個千,有 個百,有 個十 5000裡面有5個千,有0個百,有0個十 故答案為 5,0,0,5000裡面有幾個十,幾個百?二年級 5000裡面有500個十,50個百 5000裡有500個十,50個 500...