關於C 巢狀類成員函式的實現的問題

2021-04-22 03:03:06 字數 1469 閱讀 5983

1樓:匿名使用者

如下:template

class a;

};template

typename a::b* a::b::test(void) // 這裡加上typename,表明a::b是一個類版才可以。權

2樓:匿名使用者

class a

}void a::b::print()

c++ 包括類的宣告、成員函式的實現

3樓:藍色重生

#include

#include

class cscore;

void cscore::input(int id,char* name,int math,int phi)

void cscore::sum()

void cscore::show()

void main()

在c++ 裡怎樣實現一個成員函式呼叫另一個成員函式,同類的 20

4樓:匿名使用者

#include

#include

using namespace std;

class person

person(){}

void action() const{

cout<

c++ : 成員函式的實現部分(寫在類外),究竟屬於類的內部還是外部?

5樓:

不管是類外實現還是類內實現,都是在類的作用域內部,比如類外實現class a

void a::show()

雖然是在類外實現但是必須要用作用域解析運算子,編譯器才知道這是a類的作用域的函式,否則就報錯!所以咯,不管是**實現都保證是在這個作用域內部,也就是說本來就是屬於類內部的

6樓:匿名使用者

函式名和函式體是類作用域內。

7樓:急速人

成員函式申明放在標頭檔案中,定義一般放在原始檔中,一般寫在類之外,如果在其他原始檔中呼叫的話,首先得在其他原始檔中新增該成員函式所在的標頭檔案,然後申明一個該類的物件或者指標才能在其他原始檔中呼叫該成員函式!

c++中,定義一個類的時候有些**在成員函式的後面加了一個分號,結果編譯也能通過,不加分號也是正確

8樓:匿名使用者

加分號的是成員函式宣告,在類外部有函式實現**的。不加分號的是直接給出成員函式**實現了。

9樓:奧貝利科斯

是編譯器幫你優化了,請按照標準的寫法來,宣告函式最好加分號。

有些編譯器,我記得好像是vc早期的編譯器,不加分號的時候,函式的實現寫在類裡面會報出錯誤,這時候private函式就尷尬了。

所以還是按照正常的宣告規則來寫,在宣告後加分號。

關於C 中類成員函式返回值的疑問

問題1 返回date臨時物件的時候,會在記憶體中臨時建立一個date物件,這個物件是臨時性的,當所在的語句結束之後就會被收回,就是不能再用了。而返回date類物件的引用的時候,返回的是該物件本身。比如你的第一個函式,返回的是this物件本身,所以可以對其進行操作,比如可以這樣操作 datea dat...

C中,派生類的成員函式呼叫基類的受保護成員

不是很來清楚你的意圖 自 但是在c 中派生類的成員函式bai 是可以直接呼叫基類du的zhi受dao保護成員的。set staff modification 傳一個基類的引用,就可以在set中直接修改資料,而不是修改拷貝了。但是在基類中,你得把部門,名字,考勤情況等設定為protected.發上來看...

C中定義的類,成員函式可以直接使用嗎

沒有物件的時候要訪問類成員函式的話,只能訪問靜態成員函式。例如 class a 這樣可以在主函式裡直接用 a abc 這樣的語句進行呼叫。c 裡如何在類裡定義一個成員函式,可以不用 物件名.成員函式名 引數 的方式呼叫即可直接呼叫?你可以把 p函式申明為static 靜態成員函式 就可以不用建立一個...