1樓:匿名使用者
/*student不是一個類名嗎?怎麼成形參的引數型別了*/類也是一個型別啊 ,當然可以做為一個函式的形參型別啦/*這裡的c是student的物件吧,用在這裡的意思是要呼叫score吧?*/
嗯,為了讓teacher物件呼叫student物件的私有成員/*這個wc是student的物件,怎麼不能用c 為什麼要用wc*/這個問題實在是。。。
wc 是形參c的實參
可以這麼說吧, c指向的是wc指向的物件,相當於c=wc
2樓:匿名使用者
void modify_stu(student,float); student就是類名,類名就代表一種資料型別啊,宣告時只需確定形參型別,可以不要形參名,如friend void teacher::modify_stu(student,float);
函式實現時若函式內部需要形參的相關運算,則必須有形參名供使用,如void teacher::modify_stu(student c,float s)
wc在這裡是實參,呼叫函式時,編譯器會將實參傳遞給形參c。若直接用c,你的c是未定義的標示符啊
建議你看一哈函式的引數關係
3樓:左高原
所有的型別都可以做函式的引數;但要在一定的條件下才可以的;實參和形參都是要在具體呼叫某個具體的實體時起作用。
每一次引數的呼叫都意味著資料的變化,都要具體的,當是實體是一個類的時候就要具體到類裡的那一個成員。
4樓:匿名使用者
c是形參,wc是實參
c++ 一個類的成員函式作為另一個類的友元函式,為什麼錯了?
5樓:可以
worker(){}預設建構函式,其作用是把類的私有成員變數初始化為string類的預設值。
也就是空字串。
~worker(){}是解構函式,其作用是在超出物件的作用域後,將物件所佔的記憶體給釋放掉。
避免實體記憶體被用盡
6樓:匿名使用者
順序應該是這樣:
//class teacher; //這裡編譯不成功,提示incomplete type 'teacher' named in nested name specifier
class student;//add
class teacher
;class student
7樓:遺失的迷惘
#include
using namespace std;
class student;
class teacher
;class student
順序應該是這樣子的
類a中一個成員函式宣告為類b的友元成員函式,在類b中怎麼呼叫這個友元成員函式,c++
8樓:
直接呼叫啊,友元函式不屬於類,所以不需要帶::
例子#include
#include
using namespace std;
class point
void getxy();
private:
double x, y;
};void point::getxy(){cout<<"("<
9樓:匿名使用者
b類要通過a類的物件來呼叫的
c 中如何將類中的成員函式的返回值傳給另類之中
du瓶邪 假設想在類a裡呼叫類b的函式int f x 兩種辦法 1 class a b 也就是說將b定義為a的父類,這樣你就可以自然的在a裡面用f x 了 2 class a int g x 也就是說可以在a裡面使用一個b的物件作為成員變數,這樣就可以用他的函式了. 齋傲雲 b類中的一個成員變數d要...
c 的友元函式問題,C 友原函式求教
這據說是vc的一個經典bug。和namespace也有關。只要含有using namespace std 就會提示友員函式沒有訪問私有成員的許可權。解決方法 去掉using namespace std 換成更小的名字空間。例如 含有 include 就要加上using std string 含有 i...
C 中類的成員函式定義成static與C中的static的函式有什麼不同
曾聽南 類的靜態成員函式不與任何物件相聯絡,它可以直接訪問類的靜態資料成員,而不能直接訪問類的普通資料成員 即非靜態資料成員 因為普通資料成員只有類的物件存在時才有意義。c中的靜態函式只在本檔案中有效。 血天藍海 如果是靜態函式 static 型別 函式名 形參 這樣的函式 它可以被 類名 函式名 ...